【问题标题】:How to run bash script in an already created/exisitng VM in GCP using NodeJS?如何使用 NodeJS 在 GCP 中已创建/现有的 VM 中运行 bash 脚本?
【发布时间】:2019-04-14 05:32:36
【问题描述】:

我已经浏览了Nodejs-GCP-Compute-Github doc,并使用示例代码创建了一个新的 VM,并使用 NodeJS 和 Npm 模块列出了现有的 VM。

现在我想连接到我现有的虚拟机并运行一个小 bash 脚本来调用一些命令,主要是 git clonecurl 在虚拟机中运行文件。

我在@google-cloud/compute 中找不到连接到现有虚拟机并做一些事情的方法。

我们有这样的方法吗?

是否可以使用 Nodejs 以其他方式做到这一点?

【问题讨论】:

    标签: node.js google-cloud-platform google-compute-engine


    【解决方案1】:

    我想到了两种不同的方法:

    1. 您可以将您的公钥添加到实例,然后使用节点 ssh 库 (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys) 通过 ssh 连接到它

    2. 在创建实例时为其设置startup script。这可以通过将createVM 的第二个参数(配置)设置为类似:

    {
      os: 'ubunntu',
      metadata: {
        'startup-script': 'your commands'
      } 
    }
    

    【讨论】:

    • 谢谢,通过 Nodejs 的 SSH 工作正常。我以新用户身份连接到 VM。假设 VM 已经在运行 Kubernetes 服务器,新用户能否通过 admin(sudo) 命令访问/更改它?或者他/她是否需要再次设置 PATH(s)/configs 并运行服务器?
    • 您能否详细说明一下您所说的 Kubernetes 服务器是什么意思?您应该避免在 GKE 的托管实例上安装任何东西。如果您通过用户安装了 Minikube 或任何其他服务,您还应该能够使用本地配置连接到该服务。否则,是的,kubeconfigs 存储在主路径中,因此如果您使用其他用户进行身份验证,则需要再次进行身份验证
    猜你喜欢
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多