【问题标题】:Deploying Containers on Compute Engine VMs在 Compute Engine 虚拟机上部署容器
【发布时间】:2018-04-17 04:26:28
【问题描述】:

我有点困惑,GCP 有这个新功能 Deploying Containers on VMs and Managed Instance Groups,目前在 Compute Engine 上标记为 Containers 的 Alpha 版本,您实际上需要申请加入此功能的白名单。

我正在努力理解它与在创建新 CE 实例然后在该实例上运行 docker 容器时简单地在操作系统映像列表中选择容器优化操作系统有何不同?新方法有什么好处?

【问题讨论】:

  • 它是由谷歌管理的服务。你不需要自己管理它。为什么不是 GKE(Kubernetes)呢?为什么要在 Google Compute 的 VM 上运行 docker 容器?
  • @bartimar 在 Compute Engine 虚拟机上运行容器时似乎唯一需要管理的是容器优化操作系统?而且我认为在这两种情况下它都是由谷歌管理的。我的应用程序是一个简单的程序,使用 GKE 会产生太多开销,因为这里没有什么可以编排的。我认为使用 App Engine Flex 实际上最适合我,我只是想清楚地了解所有可用选项及其优缺点。谢谢。
  • 一个简单的程序?究竟是什么?为什么要用 Docker 容器呢?如果 App Engine 适合您的用例,那就去吧 :) 从您这边管理最少。

标签: google-cloud-platform google-compute-engine google-container-os


【解决方案1】:

如果您只想在 Compute Engine 实例上运行容器,则容器优化的操作系统映像有很多好处。

  • 涉及的配置较少,因为它们预先安装并配置了 Docker,当机器启动时,Docker 已经作为服务运行。
  • 在创建新的 Container-Optimized OS 实例时,控制台中有一个标记为“将容器映像部署到此 VM 实例”的复选框。选中此项提供了一种通过 Console/Gui 部署容器/添加图像的方法,并为要向容器发出的命令、重启策略、环境变量、主机挂载和其他挂载路径添加设置。这实际上允许您在创建 VM 的同时启动一个容器。
  • 通常它更安全,因为它的攻击面比标准 VM 更小,因为操作系统占用的空间更小。它还包括“锁定”防火墙和其他安全设置。
  • 由于该操作系统基于 Chromium OS 项目,而不是完整的 Linux 操作系统,因此它受益于自动更新并配置为每周自动下载更新(安装这些更新需要重新启动)。

因此,如果您想在具有高安全性的简单操作系统上以最少的设置运行容器,Container-Optimized OS 可能是合适的。

还应该说,有些用例不适合这些图像。例如,如果您需要完整 Linux 操作系统的灵活性(例如,Container-Optimized OS 不包含包管理器),或者如果您的容器依赖于 Container-Optimized OS 中可能不可用的 Linux/内核模块。如果您希望在 Google Cloud Platform 之外支持您的图像和操作系统应用程序,它也不适合。在这些场景中,您最好考虑除 Container-Optimized OS 映像之外的公共映像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2021-04-05
    • 2018-12-27
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    相关资源
    最近更新 更多