Ansichten:
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.
Hinweis
Hinweis
Container-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:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Wählen Sie aus der Liste der Cluster den zu testenden Cluster aus.
  3. 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:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Wählen Sie den Kubernetes-Cluster aus, der kein COS verwendet.
  3. Unter der Überschrift Knotenpools wählen Sie den Knotenpool aus, der geändert werden muss.
  4. Klicken Sie auf EDIT.
  5. Klicken Sie unter der Überschrift Bildtyp auf CHANGE.
  6. Wählen Sie im Popup-Menü Container-optimised OS with containerd (cos_containerd) (default) aus und klicken Sie auf CHANGE.
  7. 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>