Container-Optimized OS-Images verfügen über die integrierte Möglichkeit, nach der Veröffentlichung automatisch ein Upgrade auf eine neuere Version durchzuführen. Wenn diese Funktion aktiviert ist, können Nutzerinstanzen in Bezug auf Sicherheitsupdates und Fehlerkorrekturen auf dem neuesten Stand gehalten werden.
Wenn Container-Optimized OS als Teil eines verwalteten Dienstes (z. B. Google Kubernetes Engine, Cloud SQL usw.) verwendet wird, aktualisiert der verwaltete Dienst die Container-Optimized OS-Instanz für die Nutzer, um die Option zu aktivieren. Daher sind automatische Updates standardmäßig für diese deaktiviert.
Nutzer, die Produktionsarbeitslasten ausführen, die sensibel auf Kernel-Upgrades reagieren und eine kontrollierte Qualifizierung und Einführung benötigen, sollten auch automatische Updates deaktivieren. Weitere Informationen finden Sie im Abschnitt Automatische Updates deaktivieren.
Automatische Updates aktivieren oder deaktivieren
Ab Meilenstein 117 ist die Funktion für automatische Updates standardmäßig für alle Container-Optimized OS-Images deaktiviert. Bei Meilensteinen vor 117
ist standardmäßig aktiviert. Sie können automatische Updates aktivieren oder deaktivieren, indem Sie
die cos-update-strategy
-Metadaten für neue Instanzen, vorhandene Instanzen,
oder für alle Instanzen in einem Projekt, wie in den folgenden Abschnitten beschrieben.
Automatische Updates für eine neue Instanz konfigurieren
So erstellen Sie eine neue Instanz mit aktivierten automatischen Updates:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Erstellen Sie eine neue Instanz mit deaktivierten automatischen Updates:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Automatische Updates für eine vorhandene Instanz konfigurieren
Aktivieren Sie automatische Updates für eine vorhandene Instanz:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
So deaktivieren Sie automatische Updates für eine vorhandene Instanz:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Automatische Updates für alle Instanzen in einem Projekt konfigurieren
Ab Meilenstein 97 können Sie automatische Updates für alle Instanzen in einem Projekt Metadaten-Flags in Projektmetadaten.
So aktivieren Sie Updates für alle Instanzen in einem Projekt:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_enabled
So deaktivieren Sie Updates für alle Instanzen in einem Projekt:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_disabled
Design für automatische Updates
Container-Optimized OS verwendet ein Aktiv-Passiv-Root-Partitionsschema. Das Betriebssystem-Image wird komplett aktualisiert, einschließlich dem Kernel, im Gegensatz zu Aktualisierungen von traditionellen Linux-Distributionen, die Paket für Paket erfolgen. Das Image wird mit aktivierter automatischer Aktualisierungsfunktion gesendet. Dies bedeutet, dass eine standardmäßige Container-Optimized OS-Instanz immer die neueste Betriebssystemversion herunterlädt und sie kurz nach der Veröffentlichung auf der passiven Partition installiert.
Wenn Sie ein Bild vom LTS-Meilenstein oder cos-stable Image-Familie verwenden, erhalten Sie ein Update auf die neueste Betriebssystemversion aus demselben Meilenstein. Bei der Image-Familie „cos-dev“ und „cos-beta“ ist das Update die neueste Betriebssystemversion aus der entsprechenden Image-Familie.
Änderungen am Verhalten bei automatischen Updates
Das Team des Container-Optimized OS arbeitet aktiv an der Verbesserung unserer Back-End-Infrastruktur, die automatische Updates ermöglicht. Im Rahmen dieser Änderungen rotieren wir die Schlüssel, die zum Signieren und Überprüfen der Nutzlasten von Updates verwendet werden. Images, die vor der Schlüsselrotation freigegeben wurden, können jedoch nicht automatisch auf Images aktualisiert werden, die nach der Rotation freigegeben wurden. Die betroffene Image-Liste sieht so aus:
Diese Images können nicht auf die neueste Version aktualisiert werden:
- Auf Meilenstein 77: Images vor cos-77-12771-1000-0
- Auf Meilenstein 81: Images vor cos-81-12271-1000-0
- Auf Meilenstein 85: Images vor cos-85-13310-1000-0
- Auf Meilenstein 86: Images vor cos-dev-86-15053-0-0
Für diese Images werden keine Aktualisierungen mehr bereitgestellt:
- Alle Meilensteine vor 77, einschließlich aller veralteten Meilensteine.
Nutzer, die das eigenständige Container-Optimized OS mit einer der betroffenen Versionen ausführen, und Wenn die Funktion für automatische Updates aktiviert ist, werden die Instanzen nicht auf neuere Versionen aktualisiert. In diesen Fällen sollten Nutzer manuell neuere Betriebssystemversionen auswählen. Dazu erstellen sie ihre VM-Instanzen mit dem neueren Image neu. Automatische Updates funktionieren weiterhin auf allen unterstützten Meilensteinen für Neuveröffentlichungen.