Profilanwendbarkeit: Stufe 1
Verwenden Sie Container-Optimized OS (cos_containerd) als ein verwaltetes, optimiertes
und gehärtetes Basisbetriebssystem, das die Angriffsfläche des Hosts begrenzt.
COS ist ein Betriebssystem-Image für Compute Engine-VMs, das für das Ausführen von
Containern optimiert ist. Mit COS können die Container schnell, effizient und sicher
auf der Google Cloud Platform bereitgestellt werden.
Die Verwendung von COS als Node-Image bietet die folgenden Vorteile:
- Container sofort einsatzbereit ausführen: COS-Instanzen sind mit der Container-Laufzeitumgebung und cloud-init vorinstalliert. Mit einer COS-Instanz kann der Container gleichzeitig mit der Erstellung der VM gestartet werden, ohne dass eine Einrichtung auf dem Host erforderlich ist.
- Kleinere Angriffsfläche: COS hat einen kleineren Fußabdruck, wodurch die potenzielle Angriffsfläche der Instanz reduziert wird.
- Standardmäßig gesperrt: COS-Instanzen enthalten standardmäßig eine gesperrte Firewall und andere Sicherheitseinstellungen.
![]() |
HinweisContainer-optimiertes Betriebssystem mit containerd (cos_containerd) (Standard) ist
die Standardoption für ein Clusterknoten-Image.
|
Auswirkung
Wenn ein vorhandener Cluster-Knotenpool so geändert wird, dass er COS ausführt, ist
der für das Upgrade verwendete Vorgang langwierig und wird andere Vorgänge im Cluster
(einschließlich Löschen) sperren, bis er abgeschlossen ist.
COS-Knoten bieten auch eine Option mit
containerd
als Haupt-Container-Laufzeit, die direkt in Kubernetes integriert ist, anstelle von
docker
. Daher können auf diesen Knoten Docker keine von Kubernetes verwalteten Container
oder Images anzeigen oder darauf zugreifen. Anwendungen sollten nicht direkt mit Docker
interagieren. Für allgemeine Fehlerbehebung oder Debugging verwenden Sie stattdessen
crictl.Prüfung
Verwendung der Google Cloud Console:
- Gehen Sie zur Kubernetes Engine-Website.
- Wählen Sie aus der Liste der Cluster den zu testenden Cluster aus.
- Stellen Sie im Abschnitt Knotenpools sicher, dass für jeden der Knotenpools
Container-Optimized OS (cos_containerd)
in der Spalte Bildtyp aufgeführt ist.
Verwendung der Befehlszeile:
So überprüfen Sie den Knotentyp des Node-Pools eines bestehenden Clusters:
gcloud container node-pools describe <node_pool_name> --cluster <cluster_name> --zone <compute_zone> --format json | jq '.config.imageType'
Die Ausgabe des obigen Befehls gibt
COS_CONTAINERD
zurück, wenn COS_CONTAINERD für Node-Images verwendet wird.Wiederherstellung
Verwendung der Google Cloud Console:
- Gehen Sie zur Kubernetes Engine-Website.
- Wählen Sie den Kubernetes-Cluster aus, der kein COS verwendet.
- Unter der Überschrift Knotenpools wählen Sie den Knotenpool aus, der geändert werden muss.
- Klicken Sie auf EDIT.
- Klicken Sie unter der Überschrift Bildtyp auf CHANGE.
- Wählen Sie im Popup-Menü Container-optimised OS with containerd (cos_containerd) (default) aus und klicken Sie auf CHANGE.
- Wiederholen Sie dies für alle nicht konformen Knotenpools.
Verwendung der Befehlszeile:
Um das Knoten-Image für den Knotenpool eines bestehenden Clusters auf
cos
festzulegen:gcloud container clusters upgrade <cluster_name> --image-type cos_containerd --zone <compute_zone> --node-pool <node_pool_name>