容器优化的操作系统如何处理安全更新?

时间:2018-09-14 23:40:56

标签: google-cloud-platform google-kubernetes-engine

如果Google的Container Optimized OS本身有一个安全补丁,那么如何应用更新?

Google关于此主题的信息含糊不清

https://cloud.google.com/container-optimized-os/docs/concepts/security#automatic_updates

Google声称更新是自动的,但是如何?

  • 我是否需要设置配置选项以自动更新?
  • 该节点是否需要访问Internet,更新来自何处?还是Google Cloud足够聪明,可以让Container Optimized OS在私有VPC中进行自我更新?

2 个答案:

答案 0 :(得分:1)

作为Kubernetes Engine的一部分运行时,the auto-upgrade functionality of Container Optimized OS (cos) is disabled。通过使用GKE升级功能升级节点的映像版本来应用对cos的更新-升级主节点,然后升级节点池,或使用GKE自动升级功能。


有关升级Kubernetes Engine集群的指南描述了用于手动和自动升级的升级过程:https://cloud.google.com/kubernetes-engine/docs/how-to/upgrading-a-cluster

总的来说,遵循以下过程:

  1. 节点已禁用调度功能(因此将不考虑将它们用于调度接纳到群集中的新Pod)。

  2. 分配给正在升级的节点的Pod已耗尽。如果将它们附加到复制控制器或等效管理器(可重新计划替换),并且群集具有在另一个节点上计划替换的能力,则可以在其他位置重新创建它们。

  3. 使用相同的名称,使用新的cos映像升级节点的Computer Engine实例。
  4. 该节点已启动,然后重新添加到集群中,并且重新启用了调度。 (除某些条件外,大多数吊舱不会自动移回。)

对该集群中的后续节点重复此过程。


  

运行升级时,Kubernetes Engine一次停止调度,清空并删除所有集群的所有节点及其Pod。将使用与其先前节点相同的名称重新创建替换节点。必须成功重新创建每个节点才能完成升级。当新节点向主节点注册时,Kubernetes Engine会将节点标记为可调度。

答案 1 :(得分:0)

  

我是否需要设置配置选项以自动更新?

Compute Engine(GCE)容器优化OS(COS)VM(即直接从GCE创建的那些实例)的自动更新行为是通过“ cos-update-strategy” GCE元数据控制的。请参阅here上的文档。

当前记录的默认行为是:“如果未设置,则会自动下载并安装来自当前通道的所有更新。”

下载将在后台进行,并且更新将在VM重启后生效。

  

该节点是否需要访问Internet,更新来自何处?还是Google Cloud足够聪明,可以让Container Optimized OS在私有VPC中进行自我更新?

是的,VM需要访问Internet。如果您禁用了所有出口网络流量,则COS VM将无法自我更新。