Arm-basierte Container-Optimized OS-Images verwenden

Ab Meilenstein 101 werden von Container-Optimized OS Arm-basierte Betriebssystem-Images veröffentlicht. Die Bilder können verwendet werden, zum Erstellen von Tau T2A VMs auf Compute Suchmaschine. Weitere Informationen dazu, welche Arbeitslasten gut mit Tau T2A funktionieren, finden Sie unter Arbeitslastempfehlungen. Informationen zum Ausführen von Arm-Arbeitslasten in der Google Kubernetes Engine (GKE) finden Sie unter Aktivieren Sie Arbeitslasten in GKE.

ARM-basierte Images ansehen

Arm-basierte Container-Optimized OS-Images werden im Projekt cos-cloud mit dem Präfix cos-arm64 gehostet. Mit dem folgenden Befehl können Sie sich auch alle derzeit verfügbaren Releases in der Befehlszeile anzeigen lassen:

gcloud compute images list --project cos-cloud --no-standard-images  --filter="name~'cos-arm64-*'"

Die Ausgabe sieht in etwa so aus:

NAME                             PROJECT    FAMILY             DEPRECATED  STATUS
cos-arm64-101-17162-40-5         cos-cloud  cos-arm64-101-lts              READY
cos-arm64-beta-101-17162-40-5    cos-cloud  cos-arm64-beta                 READY
cos-arm64-dev-105-17228-0-0      cos-cloud  cos-arm64-dev                  READY
cos-arm64-stable-101-17162-40-5  cos-cloud  cos-arm64-stable               READY

Arm-basierte Container-Optimized OS-Images nutzen dieselben Versionsverwaltungsschema und LTS Lebenszyklus des Meilensteins mit x86-basierten Images. Für Arm-basierte Container-Optimized OS-Images gibt es ähnliche Image-Familien: cos-arm64-dev, cos-arm64-beta, cos-arm64-stable und cos-arm64-[MILESTONE]-lts.

Unterschiede zwischen Arm- und x86-Images

Die Arm-basierten und x86-basierten Container-Optimized OS-Images haben denselben Quellcode, aber die Build- und Kompilierungskonfigurationen unterscheiden sich. Das bedeutet, dass ein Arm-basiertes Container-Optimized OS-Image möglicherweise nicht funktional mit einem x86-basierten Container-Optimized OS-Image identisch ist, auch wenn sie dieselbe Version haben.

In den folgenden Abschnitten werden die Unterschiede zwischen und x86-basierte Container-Optimized OS-Images.

Kernel

Arm-basierte Container-Optimized OS-Images haben eine separate Kernelkonfiguration, die sich von der von x86-basierten Images unterscheidet. Der auffälligste Unterschied ist, ARM-basierte Images verwenden zum Speichern die NVMe-Schnittstelle anstelle der SCSI-Schnittstelle. Virtuelle Google-NIC (gVNIC) für Networking statt Virtionet. Die Container Threat Detection funktioniert auch nicht bei Arm-basierten Bildern.

Cloud Logging-Agent

Arm-basierte Images in Container-Optimized OS nutzen fluent-bit als Cloud Logging-Agent und x86-basiert verwenden Sie fluentd. Sie sollten keinen Unterschied feststellen, wenn Sie sich nur auf das Standard-Logging-Konfiguration, die in die Betriebssystem-Images integriert ist. Wenn Sie jedoch benutzerdefinierte Fluentd-Konfigurationen haben, kann es bei der Migration von Arbeitslasten zu Arm-basierten Container-Optimized OS-Images zu Fehlern kommen. Weitere Informationen finden Sie im Hilfeartikel Cloud Logging-Agent.

Automatische Updates

Automatische Updates sind nicht werden auf Arm-basierten Images von Container-Optimized OS unterstützt.

GPU-Beschleuniger

Die Verwendung von GPU-Hardwarebeschleunigern wird auf Arm-basierte Images in Container-Optimized OS

Instanzen mit dem Befehl create-with-container erstellen

Arm-basierte Images in Container-Optimized OS unterstützen das Erstellen von VM-Instanzen nicht mit dem create-with-container . Sie können cloud-init verwenden, um Arm-basierte Instanzen zu konfigurieren, wenn Sie Container beim Erstellen von Instanzen starten möchten.

Container-Images

Container-Optimized OS enthält Tools, mit denen Container zur Laufzeit heruntergeladen werden. In der folgenden Tabelle wird beschrieben, welche Container mit ARM-basierten Images kompatibel sind:

Container-Images Kompatibel mit Arm-basierten Images
gcr.io/cos-cloud/toolbox Ja
gcr.io/cos-cloud/cos-gpu-installer Nein
gcr.io/stackdriver-agents/stackdriver-logging-agent Nein
gcr.io/gce-containers/konlet Nein