Armbasierte Container-Optimized OS-Images verwenden

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Ab Milestone 101 veröffentlicht Container-Optimized OS Arm-basierte Betriebssystem-Images. Sie können die Images zum Erstellen von Tau T2A-VMs in Compute Engine verwenden. Weitere Informationen dazu, welche Arten von Arbeitslasten mit Tau T2A gut funktionieren, finden Sie unter Arbeitslastempfehlungen. Informationen zum Ausführen von Arm-Arbeitslasten in Google Kubernetes Engine (GKE) finden Sie unter Arm-Arbeitslasten in GKE.

Armbasierte Bilder ansehen

Armbasierte Container-Optimized OS-Images werden unter dem Projekt cos-cloud mit dem Präfix cos-arm64 gehostet. Sie können auch alle derzeit verfügbaren Releases in der Befehlszeile abrufen. Führen Sie dazu den folgenden Befehl aus:

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

Armbasierte Container-Optimized OS-Images haben dasselbe Versionsverwaltungsschema und LTS-Meilenstein-Lebenszyklus mit x86-basierten Images. Es gibt auch ähnliche Image-Familien wie cos-arm64-dev, cos-arm64-beta, cos-arm64-stable und cos-arm64-[MILESTONE]-lts für arm-basierte Container-Optimized OS-Images.

Unterschiede zwischen arm- und x86-Bildern

Die Arm-basierten und x86-basierten Container-Optimized OS-Images haben denselben Quellcode, aber die Build- und Kompilierungskonfigurationen sind unterschiedlich. Das bedeutet, dass ein Arm-basiertes Container-Optimized OS-Image möglicherweise nicht mit einem x86-basierten Container-optimierten Betriebssystem-Image identisch ist, auch wenn es dieselbe Version hat.

In den folgenden Abschnitten werden die Unterschiede zwischen auf Armen basierenden und x86-basierten Images von Container-Optimized OS beschrieben.

Kernel

ARM-basierte Container-basierte Betriebssystem-Images haben eine separate Kernel-Konfiguration, die sich von x86-basierten Images unterscheidet. Der deutlichste Unterschied besteht darin, dass auf Arm-basierten Images die NVMe-Schnittstelle zum Speichern anstelle der SCSI-Schnittstelle und die virtuelle NIC (gVNIC) von Google für das Netzwerk statt auf Virtionet verwendet wird. Die Funktion Container Threat Detection funktioniert auch nicht auf Arm-basierten Images.

Cloud Logging-Agent

Für auf Armen optimierte Betriebssystem-Arm-Images wird fluent-bit als Cloud Logging-Agent verwendet. Bei x86-basierten Images wird GASMO verwendet. Sie sollten keinen Unterschied sehen, wenn Sie nur die in den Betriebssystem-Images integrierte Standard-Logging-Konfiguration verwenden. Wenn Sie jedoch benutzerdefinierte GASMO-Konfigurationen haben, kann bei der Migration von Arbeitslasten zu ARM-basierten Container-optimierten Images ein Fehler auftreten. Weitere Informationen finden Sie unter Cloud Logging-Agent.

CIS-Compliance

Container-optimierte Betriebssystem-Arm-basierte Images sind nicht CIS-kompatibel. Die CIS-Benchmark für Google Container-Optimized OS wurde unter x86 veröffentlicht. Das bedeutet, dass Arm-basierte Images möglicherweise nicht alle Benchmarks erfüllen.

Automatische Updates

Automatische Updates werden für Container-Optimized OS Arm-basierte Images nicht unterstützt.

GPU-Beschleuniger

Die Verwendung von GPU-Hardwarebeschleunigern wird für Container-Optimized OS Arm-basierte Images nicht unterstützt.

Instanzen mit dem Befehl create-with-container erstellen

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

Container-Images

Container-Optimized OS enthält Tools, die Container zur Laufzeit herunterladen. In der folgenden Tabelle wird beschrieben, welche Container mit Arm-basierten Images kompatibel sind:

Container-Images Kompatibel mit Bildern auf Armbasis
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