Google 的 Container-Optimized OS 是适用于 Compute Engine 虚拟机的操作系统映像,专为运行容器而优化。Container-Optimized OS 由 Google 维护,基于 Chromium OS 开放源代码项目。借助 Container-Optimized OS,您可以快速、高效、安全地在 Google Cloud Platform 上启动容器。
特性和优势
Container-Optimized OS 具有以下优点:
- 开箱即用地运行容器:Container-Optimized OS 实例预安装了 Docker 和 containerd 运行时以及
cloud-init
。借助 Container-Optimized OS 实例,您可以在创建虚拟机的同时启动容器,而无需在主机上进行设置。 - 较小的攻击面:Container-Optimized OS 占用空间较少,从而缩小了实例的潜在受攻击面。
- 默认锁定:默认情况下,Container-Optimized OS 实例包含锁定的防火墙和其他安全设置。
- 自动更新:Container-Optimized OS 实例配置为在后台自动下载每周更新;只需重新启动即可使用最新更新。
限制
Container-Optimized OS 对于您在其他操作系统上惯用的一些常见功能可能支持有限或者不提供相关支持。
- Container-Optimized OS 不包含程序包管理器;因此,您无法直接在实例上安装程序包。但您可以使用 CoreOS 工具箱在隔离的容器中安装和运行调试和管理员工具。
- Container-Optimized OS 不支持执行非容器化应用。
- Container-Optimized OS 的内核处于锁定状态;您无法安装第三方内核模块或驱动程序。
- Container-Optimized OS 仅在 Google Cloud Platform 环境内受支持。
Container-Optimized OS 的使用
Container-Optimized OS 是 Kubernetes Engine 和 Google Cloud Platform 上其他 Kubernetes 部署中的默认节点操作系统。有关将 Container-Optimized OS 与 Kubernetes Engine 配合使用的详细信息,请参阅 Kubernetes Engine 快速入门。
您还可以使用 Container-Optimized OS,以最少的设置在 Compute Engine 实例上快速调出容器。如需了解详情,请参阅创建和配置实例。
您可以使用 CoreOS 工具箱实用程序运行 ping
、Google Cloud CLI、pstree
、htop
、emacs
等工具,该实用程序预装在 Container-Optimized OS 中的 /usr/bin/toolbox
处。如需了解详情,请参阅使用工具箱执行调试。
Container-Optimized OS 的用例
Container-Optimized OS 可用于运行大多数容器。如果您有以下需求,则应考虑使用 Container-Optimized OS 作为 Compute Engine 实例的操作系统:
- 您需要获得对容器或 Kubernetes 的支持,并且只需极少的设置。
- 您需要一种占用空间较小并且针对容器经过安全强化的操作系统。
- 您需要一种经过测试和验证,可以在 Compute Engine 实例上运行 Kubernetes 的操作系统。
在如下情况下,Container-Optimized OS 可能不是您的合理选择:
- 您的应用并非容器化应用,或者您的容器化应用依赖于 Container-Optimized OS 所不具备的某些内核模块、驱动程序和其他附加程序包。
- 您需要 Linux 提供商(Canonical、Core OS、Redhat、SUSE 等)提供的专业客户支持。
- 您希望在 Google Cloud 之外完全支持您的映像和操作系统应用。
如需了解可用于在 Google Cloud 上运行容器化应用的其他操作系统,请参阅 Google Cloud 上的容器。Compute Engine 为其他流行的操作系统提供了映像,包括为容器而优化的映像。