首页 > 解决方案 > 有没有办法通过节点 js 执行 gcloud 命令?

问题描述

所以,我有一个特定的 kubernetes 和 bash 命令链,我必须在 gcloud 上执行,我想知道是否有任何方法可以通过脚本自动执行这些命令,而无需实际打开并与之交互gcloud CLI。也许使用 npm 包,但我不知道是否有用于此用途的包。

我已经在本地安装了 gcloud cli,exec 和/或 spawn 命令应该工作吗?我尝试过,但最终失败了。

TL;DR:我只想知道如何使用代码自动化 gcloud 命令!最好在 node.js 上,但我也可以用另一种语言学习它。

标签: node.jskubernetesgoogle-cloud-platformautomationgcloud

解决方案


请提供更多关于您尝试自动化的细节,因为这将有助于指导建议。

gcloud从另一个程序中自动化子流程(例如调用 bash 并运行它)有几个挑战。其中最重要的是,shell 脚本不提供非常强大的参数传递(并且不提供字符串以外的类型)并且错误处理很困难。

对于 NodeJS,您可以使用child_process. 您需要确保子进程环境能够访问gcloud二进制文件及其配置,并且它也可以进行身份​​验证。gcloud由于您正在运行一个程序来与

虽然这些需要更多工作,但还有其他选择,但它们提供了更强大的解决方案:

  1. 使用明确的“基础设施即代码”工具(例如terraform)。Google Cloud为 Terraform提供模板
  2. 使用 Google Cloud SDK(解释了 2 种风格),它们涵盖了除 Kubernetes 本身(您可以管理 GKE 集群)和 NodeJS Kubernetes客户端库之外的所有内容

如果您在问题中添加更多详细信息,我可以在此答案中添加更多详细信息。


推荐阅读