我需要在所有计算引擎VM上使用install Monitoring Agent,我想知道是否可以使用某种类型的启动脚本或类似方法自动完成此操作。那可能吗?
根据Google的介绍,以下是将其安装在单个VM上的步骤:
答案 0 :(得分:3)
在这里,启动脚本不是一个很好的解决方案,因为该脚本将在实例启动时运行。即使Stackdriver Monitoring Agent的安装很聪明,并且如果已经安装了代理程序也不会重新安装该代理程序(也许是这样,我不知道),但在此处使用启动脚本似乎不合适。如果您想在每次启动时都安装它(也许保持更新),这可能是一个解决方案,但就您而言(在所有现有VM上安装一次),可能会有更好的解决方案。
如果您具有对VM的超级用户访问权限,并且使用Google Cloud SDK,则可以简单地在VM上进行迭代,并通过SSH对每个虚拟机运行远程命令,例如以下示例,假设所有VM都在同一个项目中{ {1}}(在生产环境中的所有VM上运行它之前,请小心在一小部分VM上对其进行测试,我尚未对其进行测试)。该语法对Google Cloud SDK v243.0.0有效。
$MY_PROJECT
这类似于连接到每个VM,在此VM上运行命令,然后断开连接。这样做的好处是,只要您可以通过SSH连接到VM,它就可以在一台主机上运行。
如果您熟悉Ansible或某些其他配置工具,则可能有比以前的Shell脚本更好的解决方案。但是,如果这是一次性的,并且您想要一种快速,简便的解决方案,那么请继续执行Shell脚本(不过请谨慎进行测试)。
对于将来的Compute Engine VM,如果所有VM都具有类似的配置,建议您查看instance templates或images。您可以预先安装Stackdriver监视代理程序来创建特定的实例模板或映像,然后从这些实例模板/映像创建所有将来的VM。