Les images Container-Optimized OS ont la possibilité d'effectuer une mise à niveau automatique vers une version plus récente lors de la publication. Lorsqu'elle est activée, cette fonctionnalité permet aux instances de l'utilisateur de rester à jour par rapport aux correctifs de sécurité et aux corrections de bugs.
Lorsque Container-Optimized OS est utilisé dans le cadre d'un service géré (par exemple, Google Kubernetes Engine, Cloud SQL, etc.), le service géré se charge de mettre à jour l'instance Container-Optimized OS. Les mises à jour automatiques sont donc désactivées par défaut.
Les utilisateurs exécutant des charges de travail de production qui sont sensibles aux mises à niveau du noyau et nécessitent une qualification et un déploiement contrôlés doivent également désactiver les mises à jour automatiques. Pour plus d'informations, consultez la section Désactiver les mises à jour automatiques.
Activer ou désactiver les mises à jour automatiques
Dans le jalon 117 et les versions ultérieures, la fonctionnalité de mises à jour automatiques est désactivée par défaut
sur toutes les images Container-Optimized OS. Pour les jalons antérieurs à 117, le
est activée par défaut. Vous pouvez activer ou désactiver les mises à jour automatiques
en définissant les métadonnées cos-update-strategy
sur les nouvelles instances, les instances existantes
ou sur toutes les instances d'un projet, comme décrit dans les sections suivantes.
Configurer les mises à jour automatiques sur une nouvelle instance
Créez une instance avec les mises à jour automatiques activées :
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Créez une instance avec les mises à jour automatiques désactivées :
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurer les mises à jour automatiques sur une instance existante
Activez les mises à jour automatiques pour une instance existante:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Désactivez les mises à jour automatiques pour une instance existante:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurer les mises à jour automatiques sur toutes les instances d'un projet
À partir du jalon 97, vous pouvez activer ou désactiver les mises à jour automatiques pour toutes les instances d'un projet en utilisant des indicateurs de métadonnées dans les métadonnées du projet.
Activez les mises à jour pour toutes les instances d'un projet:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_enabled
Désactivez les mises à jour pour toutes les instances d'un projet:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_disabled
Conception des mises à jour automatiques
Container-Optimized OS utilise un schéma de partition racine actif/passif. L'image de l'OS est mise à jour dans son intégralité, y compris le noyau, contrairement aux mises à jour paquet par paquet comme sur les distributions Linux traditionnelles. L'image est envoyée avec la fonctionnalité de mise à jour automatique activée. Cela signifie qu'une instance par défaut de Container-Optimized OS télécharge toujours la dernière version de l'OS et l'installe sur la partition passive peu de temps après sa publication.
Si vous utilisez une image de LTS jalon ou famille d'images cos-stable, vous recevrez une mise à jour de la dernière version de l'OS du même jalon. Dans la famille d'images cos-dev et cos-beta, la mise à jour correspond à la dernière version de l'OS de la famille d'images correspondante.
Modifications du comportement des mises à jour automatique
L'équipe Container-Optimized OS travaille activement à l'amélioration de notre infrastructure backend qui rend possible les mises à jour automatiques. Dans le cadre de ces modifications, nous alternons les clés utilisées pour signer et valider les charges utiles de mise à jour. Toutefois, les images publiées avant la rotation des clés ne peuvent pas être automatiquement mises à jour vers les images publiées après la rotation. Les images concernées sont les suivantes :
Les images suivantes ne peuvent pas être mises à jour :
- Avec le jalon 77 : images antérieures à cos-77-12371-1000-0
- Avec le jalon 81 : images antérieures à cos-81-12871-1000-0
- Avec le jalon 85 : images antérieures à cos-85-13310-1000-0
- Avec le jalon 86 : images antérieures à cos-dev-86-15053-0-0
Ces images ne recevront plus aucune mise à jour :
- Tous les jalons antérieurs à 77, y compris tous les jalons précédemment obsolètes.
Les utilisateurs qui exécutent Container-Optimized OS avec l'une des versions concernées et qui ont activé la fonctionnalité de mise à jour automatique ne verront pas leurs instances mises à jour vers les versions plus récentes. Dans ce cas, les utilisateurs doivent choisir manuellement les versions les plus récentes du système d'exploitation en recréant leurs instances de VM avec l'image la plus récente. Les mises à jour automatiques continueront de fonctionner sur tous les jalons acceptés pour les nouvelles versions.