Releasekanäle

Releaseversionen

Die Versionen des Container-Optimized OS werden mit 3-Tupeln benannt, die auf Ganzzahlen basieren, zum Beispiel 10895.52.0. Neuere Versionen des Container-Optimized OS besitzen höhere Nummern als ältere Versionen. Beispielsweise ist die Version 10895.10.0 neuer als die Version 10895.9.0. Diese Versionsnummern dienen nur dazu, dass Sie erkennen können, welche Images neuer sind als andere.

Releaseversionen erkennen Sie anhand der Suffixe der Namen der Container-Optimized OS-Images. Das Image cos-beta-69-10895-52-0 hat beispielsweise die Versionsnummer 10895.52.0.

Meilenstein-Releases

Die Container-Optimized OS-Images werden als Meilenstein-Releases veröffentlicht; Beispiele für Meilenstein-Releases sind 60, 61 und 62. Ein Meilenstein-Release bedeutet, dass eine Abfolge von Images die Phasen unseres Entwicklungszyklus durchlaufen hat. Weitere Informationen zu unserem Entwicklungszyklus finden Sie unter Release-Kanäle. Meilenstein-Releases entsprechen Hauptversionen einer Software.

Normalerweise können Sie anhand des Container-Optimized OS-Image-Namens erkennen, zu welchem Meilenstein-Release ein Image gehört. Beispielsweise ist das Image cos-beta-69-10895-52-0 Teil des Meilenstein-Release 69.

Releasekanäle

Die Meilenstein-Releases des Container-Optimized OS durchlaufen während des Entwicklungsprozesses verschiedene Release-Kanäle, auf denen sie unterschiedliche Stabilitätsniveaus aufweisen. Jedes Meilenstein-Release durchläuft drei Release-Kanäle:

dev-Kanal

Bei einem Meilenstein-Release, der sich auf dem dev-Kanal befindet, werden die Funktionen aktiv weiterentwickelt. Auf dem dev-Kanal werden regelmäßig zu einem bestimmten Milestone gehörende Images veröffentlicht. Die auf dem dev-Kanal veröffentlichten Images enthalten jeweils die neuesten Funktionen, die das Container-Optimized OS-Team entwickelt hat. Normalerweise befindet sich immer nur ein einziges Meilenstein-Release auf dem dev-Kanal. Meilenstein-Releases auf dem dev-Kanal werden nach etwa sechs Wochen auf den beta-Kanal verschoben.

beta-Kanal

Wenn ein Meilenstein-Release auf den beta-Kanal verschoben wurde, bedeutet das, dass die Entwicklung seiner Funktionen abgeschlossen ist. Wenn auf dem beta-Kanal neue Images eines Milestone-Releases veröffentlicht werden, umfassen sie in der Regel nur Fehlerkorrekturen. Normalerweise befindet sich immer nur ein einziges Meilenstein-Release auf dem beta-Kanal. Meilenstein-Releases auf dem beta-Kanal werden nach etwa sechs Wochen auf den stable-Kanal verschoben.

stable-Kanal

Die Meilenstein-Releases auf dem stable-Kanal wurden ausgiebig getestet und sollten daher eine hohe Qualität aufweisen. Auf dem stable-Kanal werden selten Aktualisierungen der dort befindlichen Meilenstein-Releases veröffentlicht. Falls doch, wurden kritische Fehlerkorrekturen vorgenommen oder sie umfassen Sicherheitsupdates. Auf dem stable-Kanal befinden sich normalerweise diverse Releases für unterschiedliche Meilensteine. Die Meilensteine, deren Releases sich auf dem stable-Kanal befinden, werden zu einem gewissen Zeitpunkt verworfen. Dann werden für den Meilenstein keine neuen Releases mehr veröffentlicht. Weitere Informationen zu den Support-Fenstern für die verschiedenen Meilenstein-Releases finden Sie in der Supportrichtlinie.

Nutzer von Container-Optimized OS können Images von allen drei Release-Kanälen verwenden. Als Faustregel für die Wahl eines Release-Kanals gilt:

  • Für Tests und Prototyperstellung wählen Sie das neueste Image von den Kanälen dev oder beta.
  • Zur Implementierung in einer Produktionsumgebung wählen Sie ein Image aus dem Kanal stable.

Wie nutze ich die Release-Kanäle?

Über die Release-Kanäle erhalten Container-Optimized OS-Nutzer Einblicke in die Entwicklung eines Container-Optimized OS-Meilenstein-Releases. Es wird dringend empfohlen, abgestufte Testumgebungen zusammen mit Ihrer Produktionsumgebung einzurichten, um die Release-Kanäle zu nutzen. Zum Beispiel kann von einer minimal ausgestatteten "nächtlichen" Testumgebung der jeweils neueste Release vom dev-Kanal abgerufen werden, um neue Funktionen zu testen und potenzielle Fehler so früh wie möglich zu erkennen. Hingegen kann eine stärker ausgebaute "Staging"- oder "Canary"-Testumgebung, die die Produktionsumgebung simuliert, den jeweils aktuellsten Release aus dem beta-Kanal abrufen. Mit einer derartigen Vorgehensweise werden Überraschungen minimiert, wenn die Produktionsumgebung auf einen neueren Meilenstein-Release vom Kanal stable aktualisiert wird.

Automatische Aktualisierungen

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. Bei der Veröffentlichung des Images ist die Funktion zur automatischen Aktualisierung automatisch aktiviert. Dies bedeutet, dass die Standardinstanz von Container-Optimized OS neuere Versionen des Betriebssystems immer auf demselben Kanal herunterlädt und sie kurz nach deren Veröffentlichung auf der passiven Partition installiert. Beachten Sie, dass die Aktualisierung erst nach dem Neustart der Instanz wirksam wird und die automatische Aktualisierungsfunktion den Neustart nicht erzwingt, wenn ein Update installiert wurde. Nachdem eine aktualisierte Version installiert wurde, muss die Instanz neu gestartet werden, bevor sie auf die neuere Version aktualisiert werden kann.

Der Status der automatischen Aktualisierung kann mit dem folgenden Befehl auf einer laufenden Instanz überprüft werden:

sudo update_engine_client --status

Eine automatische Aktualisierung kann mit folgendem Befehl auf einer laufenden Instanz ausgelöst werden:

sudo update_engine_client --update

Die automatische Aktualisierung kann deaktiviert werden, indem Sie die Metadaten cos-update-strategy festlegen, wenn eine neue Instanz erstellt wird:

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

Alternativ können Sie add-metadata für eine vorhandene Instanz verwenden:

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