版本

发布版本

Container-Optimized OS 的版本以整数三元组的形式表示;例如 10895.52.0。按照字典顺序排列,新的 Container-Optimized OS 版本比旧版本更大。例如,版本 10895.10.010895.9.0 更新。除了了解哪些映像比其他映像更新之外,这些版本编号并无太多意义。

发行版本作为 Container-Optimized OS 映像名称的后缀显示。例如,映像 cos-beta-69-10895-52-0 的版本是 10895.52.0

发布里程碑

Container-Optimized OS 映像按照发布里程碑的形式发布;例如发布里程碑 606162。里程碑是贯穿我们开发周期各个阶段的一系列映像;有关我们的开发周期的详细信息,请参阅发布版本。发布里程碑类似于主要软件版本。

映像的发布里程碑通常直接显示在 Container-Optimized OS 的映像名称中。例如,映像 cos-beta-69-10895-52-0 是里程碑 69 的一部分。

版本

Container-Optimized OS 的版本是每个里程碑在其开发过程中经过的多个稳定阶段。每个里程碑都有三个版本:

dev 版本

dev 版本的里程碑处于活跃功能开发阶段。dev 里程碑会定期发布映像。dev 里程碑的新版本包括 Container-Optimized OS 团队发布的最新功能。dev 版本通常每次仅有一个里程碑。大约六周后,dev 版本的里程碑会升级到 beta 版本。

beta 版本

beta 版本的里程碑功能已经齐备。beta 里程碑的新版本通常仅包含问题修复。beta 版本通常每次仅有一个里程碑。大约六周后,beta 版本的里程碑会升级到 stable 版本。

stable 版本

stable 版本的里程碑已经过充分测试,应具备较高的质量。stable 里程碑的新版本较为少见,包括重大问题修复和安全更新。stable 版本通常每次有多个里程碑。stable 版本的里程碑最终会弃用,弃用后不会再为相应里程碑发布新版本。如需详细了解各里程碑的支持期,请参阅支持政策

Container-Optimized OS 用户可以使用任何版本的映像。选择版本的经验法则如下:

  • 对于测试和原型设计,请选择 devbeta 版本的最新映像。
  • 对于生产部署,请选择 stable 版本的映像。

我该如何利用版本?

版本让 Container-Optimized OS 用户可以了解 Container-Optimized OS 里程碑的开发情况。强烈建议用户连同其生产环境一并设置分层式测试,以利用各种版本。例如,轻量级的“nightly”测试环境可以获取 dev 版本的最新版本,以测试新功能并尽早发现任何可能的中断,更复杂的模仿生产环境的“staging”或“canary”测试环境可以获取 beta 版本的最新版本。在将生产环境切换到 stable 版本的较新里程碑时,这种设置可以最大限度减少意外情况。

自动更新

Container-Optimized OS 使用主动-被动根分区方案。操作系统映像会完全更新,包括内核在内,而不是像传统 Linux 发行版那样逐个程序包进行更新。映像发布时已启用自动更新功能;也就是说,只要有较新的版本发布,默认 Container-Optimized OS 实例始终会下载相同版本,并将其立即安装到被动分区上。请注意,更新仅在重新启动实例后才会生效,并且自动更新程序在安装更新时不会强制执行重新启动。安装更新版本后,必须重新启动实例才能更新到较新的版本。

用户可以在正在运行的实例上使用以下命令检查自动更新的状态:

sudo update_engine_client --status

用户可以在正在运行的实例上使用以下命令触发自动更新:

sudo update_engine_client --update

在创建新实例时设置 cos-update-strategy 元数据可以停用自动更新:

gcloud compute instances create ... --metadata cos-update-strategy=update_disabled

或者在现有实例上使用 add-metadata

gcloud compute instances add-metadata ... --metadata cos-update-strategy=update_disabled