在 Google Compute Engine (Debian Wheezy 7.8) 上自动安装 FFMPEG
Auto install FFMPEG on Google Compute Engine (Debian Wheezy 7.8)
我有一个 Google Cloud Compute Engine 项目,想在所有实例上自动安装 FFMPEG。我正在使用 node.js 模块 https://github.com/fluent-ffmpeg/node-fluent-ffmpeg 为上传到服务器的视频添加水印并生成缩略图。它在我安装了 ffmpeg 的本地机器上运行良好。但是如何 install/auto 在 google 云项目中的所有虚拟机实例上安装 ffmpeg?
以下是我想到的备选方案:
简单方法,如果你只想解决这件事:运行一个脚本来ssh到每个实例并使用安装包,例如,apt-get
或 yum
。不要忘记提供 -y
标志以避免输入提示。这里是 an example of how you can do this.
如果你打算使用 gcloud
,你可以列出你所有的实例,你也可以使用 gcloud compute ssh
轻松连接到它们,因为 GCE 使用 public 键而不是比密码更容易实现自动化。
如果您想使用普通 ssh,请保存您的 GCE 虚拟机的所有外部 IP 地址的列表并使用 this approach 连接到您的实例。
更复杂,但也允许未来扩展:use a configuration management system, such as Chef, Ansible, Puppet, Salt or others。确保在系统上安装软件包是他们每个人都内置的第一个 class 操作。
但是,其中一些是客户端-服务器系统,需要节点预装代理,因此您回到原点。 Ansible 是一个无主控的软件,因此可能最容易上手,但如果这是一次性问题,上面的 SSH 解决方案可能会更容易。
另一种方法是使用Startup Scripts。我会将此解决方案置于@Misha 建议的方法之间。
我有一个 Google Cloud Compute Engine 项目,想在所有实例上自动安装 FFMPEG。我正在使用 node.js 模块 https://github.com/fluent-ffmpeg/node-fluent-ffmpeg 为上传到服务器的视频添加水印并生成缩略图。它在我安装了 ffmpeg 的本地机器上运行良好。但是如何 install/auto 在 google 云项目中的所有虚拟机实例上安装 ffmpeg?
以下是我想到的备选方案:
简单方法,如果你只想解决这件事:运行一个脚本来ssh到每个实例并使用安装包,例如,
apt-get
或yum
。不要忘记提供-y
标志以避免输入提示。这里是 an example of how you can do this.如果你打算使用
gcloud
,你可以列出你所有的实例,你也可以使用gcloud compute ssh
轻松连接到它们,因为 GCE 使用 public 键而不是比密码更容易实现自动化。如果您想使用普通 ssh,请保存您的 GCE 虚拟机的所有外部 IP 地址的列表并使用 this approach 连接到您的实例。
更复杂,但也允许未来扩展:use a configuration management system, such as Chef, Ansible, Puppet, Salt or others。确保在系统上安装软件包是他们每个人都内置的第一个 class 操作。
但是,其中一些是客户端-服务器系统,需要节点预装代理,因此您回到原点。 Ansible 是一个无主控的软件,因此可能最容易上手,但如果这是一次性问题,上面的 SSH 解决方案可能会更容易。
另一种方法是使用Startup Scripts。我会将此解决方案置于@Misha 建议的方法之间。