As imagens do Container-Optimized OS têm o recurso integrado de upgrade automático para uma versão mais recente assim que ela for lançada. Quando ativado, esse recurso permite que as instâncias do usuário fiquem atualizadas em quanto às correções de segurança e de bugs.
Quando o Container-Optimized OS é usado como parte de um serviço gerenciado (por exemplo, Google Kubernetes Engine, Cloud SQL etc.), o serviço gerenciado executa a atualização da instância do Container-Optimized OS para os usuários. Portanto, as atualizações automáticas ficam desativadas por padrão.
Os usuários que executam cargas de trabalho de produção que são sensíveis aos upgrades do kernel e que exigem qualificação e implantação controladas também precisam desativar as atualizações automáticas. Para mais informações, consulte a seção Como desativar atualizações automáticas.
Ativar ou desativar atualizações automáticas
Na versão 117 em diante, o recurso de atualizações automáticas é desativado por padrão
em todas as imagens do Container-Optimized OS. Em marcos anteriores a 117, a
está ativado por padrão. Para ativar ou desativar as atualizações automáticas,
definir os metadados cos-update-strategy
em novas instâncias, instâncias atuais
ou em todas as instâncias de um projeto, conforme descrito nas seções a seguir.
Configurar as atualizações automáticas em uma nova instância
Crie uma nova instância com as atualizações automáticas ativadas:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Crie uma nova instância com as atualizações automáticas desativadas:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurar atualizações automáticas em uma instância
Ative as atualizações automáticas para uma instância atual:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Para desativar as atualizações automáticas de uma instância:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurar atualizações automáticas em todas as instâncias de um projeto
A partir do marco 97, você pode ativar ou desativar as atualizações automáticas para todas as instâncias em um projeto usando e flags de metadados do projeto.
Ative as atualizações para todas as instâncias em um projeto:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_enabled
Desative as atualizações de todas as instâncias em um projeto:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_disabled
Design da atualização automática
O Container-Optimized OS usa um esquema de partição de raiz ativo-passivo. A imagem do SO é inteiramente atualizada, inclusive o kernel, ao contrário das atualizações pacote por pacote utilizadas nas distribuições Linux tradicionais. A imagem é enviada com o recurso de atualizações automáticas ativado. Isso significa que uma instância padrão do Container-Optimized OS sempre faz o download da versão mais recente do sistema operacional e a instala na partição passiva assim que é lançada.
Se você estiver usando uma imagem do marco do LTS ou a família de imagens cos-stable, você recebe uma atualização da versão mais recente do SO do mesmo marco. Nas famílias de imagens cos-dev e cos-beta, a atualização ser a versão mais recente do SO da família de imagens correspondente.
Alterações no comportamento da atualização automática
A equipe da SO otimizadas para contêineres está trabalhando ativamente na melhoria da nossa infraestrutura de back-end, o que possibilita as atualizações automáticas. Como parte dessas alterações, estamos fazendo a rotação das chaves usadas para assinar e validar os payloads de atualização. No entanto, as imagens lançadas antes da rotação da chave não podem ser atualizadas automaticamente para imagens liberadas após a rotação. Veja a seguir a lista de imagens afetadas:
Estas imagens não podem ser atualizadas para versões mais recentes:
- No marco 77: imagens anteriores à cos-77-122371-1000-0
- No marco 81: imagens anteriores à cos-81-12871-1000-0
- No marco 85: imagens anteriores à cos-85-13310-1000-0
- No marco 86: imagens anteriores à cos-dev-86-15053-0-0
Estas imagens não receberão mais atualizações:
- Todos os marcos anteriores ao 77, incluindo todos os marcos já considerados obsoletos.
Os usuários que executam o Container-Optimized OS independente com qualquer uma das versões afetadas e têm o recurso de atualização automática ativado não vão ver que as instâncias deles são atualizadas para versões mais recentes. Nesses casos, os usuários precisam escolher manualmente as versões mais recentes do SO recriando as instâncias de VM com a imagem mais recente. As atualizações automáticas continuarão a funcionar em todos os marcos suportados para novas versões.