Auf dieser Seite wird erläutert, wie Sie die automatische Knotenbereitstellung in Standardclustern von Google Kubernetes Engine (GKE) verwenden. Machen Sie sich vor dem Lesen dieser Seite mit der automatischen Bereitstellung von Knoten vertraut.
Hinweise
Führen Sie die folgenden Schritte durch, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Voraussetzungen
Die automatische Knotenbereitstellung ist in den folgenden GKE-Releases verfügbar:
- Version 1.27.6 und höher oder 1.28 und höher für Cloud TPU v4 und v5e.
- Version 1.28.7-gke.1020000 oder höher und 1.29.2-gke.1035000 oder höher für Cloud TPU v5p.
Automatische Knotenbereitstellung aktivieren
Sie können die automatische Knotenbereitstellung auf einem Cluster mit der gcloud CLI oder der Google Cloud Console aktivieren.
Für die automatische Knotenbereitstellung gelten die folgenden Ressourceneinschränkungen:
Sie sollten den Knoten-IP-Adressbereich sorgfältig planen. Sie können den Knoten-IP-Adressbereich erweitern, nachdem Sie einen Cluster erstellt haben. Es wird jedoch empfohlen, den IP-Adressbereich des Knotens nach dem Erstellen des Clusters nicht zu erweitern, da Sie die Firewallregeln aktualisieren müssen, um den neuen Bereich als Quelle aufzunehmen. Sie können den Pod-IP-Adressbereich mithilfe des zusammenhängenden Multi-Pod-CIDR mit automatischer Knotenbereitstellung erweitern.
gcloud
Führen Sie den folgenden Befehl aus, um die automatische Knotenbereitstellung zu aktivieren:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --min-cpu MINIMUM_CPU \ --min-memory MIMIMUM_MEMORY \ --max-cpu MAXIMUM_CPU \ --max-memory MAXIMUM_MEMORY \ --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des Clusters zum Aktivieren der automatischen KnotenbereitstellungMINIMUM_CPU
: die Mindestanzahl von Kernen im ClusterMINIMUM_MEMORY
: die Mindestanzahl von Gigabyte Arbeitsspeicher im ClusterMAXIMUM_CPU
: die maximale Anzahl der Kerne im ClusterMAXIMUM_MEMORY
: die maximale Anzahl von Gigabyte Arbeitsspeicher im Cluster
Im folgenden Beispiel wird die automatische Knotenbereitstellung auf dem dev-cluster
aktiviert. Dadurch wird die Skalierung von einer Clustergesamtgröße von 1 CPU und 1 GB Arbeitsspeicher auf maximal 10 CPU und 64 GB Arbeitsspeicher ermöglicht:
gcloud container clusters update dev-cluster \ --enable-autoprovisioning \ --min-cpu 1 \ --min-memory 1 \ --max-cpu 10 \ --max-memory 64
Console
Führen Sie die folgenden Schritte aus, um die automatische Knotenbereitstellung zu aktivieren:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters.
Klicken Sie im Abschnitt Automatisierung unter Automatische Knotenbereitstellung auf
Bearbeiten.Klicken Sie auf das Kästchen Automatische Knotenbereitstellung aktivieren.
Legen Sie die gewünschte minimale und maximale CPU- und Arbeitsspeicherauslastung für den Cluster fest.
Klicken Sie auf Änderungen speichern.
Konfigurationsdatei für die automatische Bereitstellung verwenden
Die automatische Knotenbereitstellung kann mit einer YAML-Konfigurationsdatei konfiguriert werden. Die Konfigurationsdatei kann nur eine einzelne Zeile enthalten, wenn damit eine einzelne Einstellung geändert wird. In einer einzelnen Konfigurationsdatei können mehrere Einstellungen festgelegt werden. In diesem Fall werden beim Anwenden der Konfigurationsdatei alle diese Einstellungen geändert.
Einige erweiterte Konfigurationen können nur mithilfe einer Konfigurationsdatei angegeben werden.
Beispiel 1: Wenn Sie die folgende Konfigurationsdatei anwenden, werden automatische Knotenreparaturen und automatische Upgrades für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden:
management: autoRepair: true autoUpgrade: true
Beispiel 2: Durch die Anwendung der folgenden Konfigurationsdatei würden die folgenden Einstellungen geändert werden:
- Ressourcenlimits werden für CPU, Arbeitsspeicher und GPU festgelegt. Wenn die Gesamtgröße des Clusters die angegebenen Ressourcenlimits überschreitet, wird die automatische Knotenbereitstellung keine Knoten erstellen.
- Automatische Knotenreparaturen und automatische Upgrades werden für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden.
- Secure Boot und Integritätsmonitoring werden für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden.
- Die Größe des Bootlaufwerks wird für neue Knotenpools, die durch die automatische Knotenbereitstellung erstellt werden, auf 100 GB festgelegt.
resourceLimits: - resourceType: 'cpu' minimum: 4 maximum: 10 - resourceType: 'memory' maximum: 64 - resourceType: 'nvidia-tesla-t4' maximum: 4 management: autoRepair: true autoUpgrade: true shieldedInstanceConfig: enableSecureBoot: true enableIntegrityMonitoring: true diskSizeGb: 100
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Erstellen Sie eine Datei mit der gewünschten Konfiguration an einem Standort, an dem die gcloud CLI darauf zugreifen kann.
Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Weitere Informationen finden Sie in der Dokumentation zu
gcloud container clusters update
.
Standardeinstellungen für die automatische Bereitstellung
Bei der automatischen Knotenbereitstellung werden die Pod-Anforderungen in Ihrem Cluster untersucht, um festzustellen, welcher Knotentyp am besten zu diesen Pods passt. Einige Knotenpooleinstellungen werden jedoch nicht direkt durch Pods bestimmt (z. B. Einstellungen für Knotenupgrades). Sie können für diese Einstellungen Standardwerte festlegen, die dann auf alle neu erstellten Knotenpools angewendet werden.
Standardknoten-Image-Typ festlegen
Sie können den Knoten-Image-Typ angeben, der für alle neuen, automatisch bereitgestellten Knotenpools verwendet werden soll. Verwenden Sie dazu die gcloud CLI oder eine Konfigurationsdatei. Diese Einstellung ist nur für die GKE-Clusterversion 1.20.6-gke.1800 und höher verfügbar.
gcloud
Führen Sie den folgenden Befehl aus, um den Standardtyp des Knoten-Images festzulegen:
gcloud container clusters update CLUSTER_NAME \
--enable-autoprovisioning \
--autoprovisioning-image-type IMAGE_TYPE
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersIMAGE_TYPE
: Der Knoten-Image-Typ. Dies kann einer der folgenden Werte sein:cos_containerd
: Container-Optimized OS mit containerd.ubuntu_containerd
: Ubuntu mit containerd.
Datei
Für alle neuen automatisch bereitgestellten Knotenpools können Sie den zu verwendenden Knoten-Image-Typ mithilfe einer Konfigurationsdatei angeben.
Die folgende YAML-Konfiguration gibt an, dass für neue automatisch bereitgestellte Knotenpools der Image-Typ cos_containerd
ist und Ressourcenlimits für CPU und Arbeitsspeicher zugeordnet sind. Sie müssen maximale Werte für CPU und Arbeitsspeicher angeben, um die automatische Bereitstellung zu aktivieren.
Speichern Sie die YAML-Konfiguration:
resourceLimits: - resourceType: 'cpu' minimum: 4 maximum: 10 - resourceType: 'memory' maximum: 64 imageType: 'cos_containerd'
Wenden Sie die Konfiguration an:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Standardeinstellungen der Identität für automatisch bereitgestellte Knotenpools festlegen
Berechtigungen für Google Cloud-Ressourcen werden von Identitäten bereitgestellt.
Sie können die Standardidentität (entweder ein Dienstkonto oder einen oder mehrere Bereiche) für neue automatisch bereitgestellte Knotenpools mit der gcloud CLI oder über eine Konfigurationsdatei festlegen.
gcloud
Führen Sie zum Festlegen des IAM-Standarddienstkontos, das bei der automatischen Knotenbereitstellung verwendet werden soll, den folgenden Befehl aus:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning --autoprovisioning-service-account=SERVICE_ACCOUNT
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersSERVICE_ACCOUNT
: der Name des Standarddienstkontos
Im folgenden Beispiel wird test-service-account@google.com
als Standarddienstkonto für den Cluster dev-cluster
festgelegt:
gcloud container clusters update dev-cluster \ --enable-autoprovisioning --autoprovisioning-service-account=test-service-account@google.com
Führen Sie den folgenden Befehl aus, um die Standardbereiche anzugeben, die von der automatischen Knotenbereitstellung verwendet werden:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning --autoprovisioning-scopes=SCOPE
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersSCOPE
: die Google Cloud-Bereiche, die von automatisch bereitgestellten Knotenpools verwendet werden Wenn Sie mehrere Bereiche angeben möchten, trennen Sie die Bereiche durch ein Komma (z. B.SCOPE1, SCOPE2,...
).
Im folgenden Beispiel wird der Standardbereich für den Cluster dev-cluster
auf devstorage.read_only
festgelegt:
gcloud container clusters update dev-cluster \ --enable-autoprovisioning \ --autoprovisioning-scopes=https://www.googleapis.com/auth/pubsub,https://www.googleapis.com/auth/devstorage.read_only
Datei
Sie können die von der automatischen Knotenbereitstellung verwendeten Standardwerte für Identitäten mithilfe einer Konfigurationsdatei festlegen. Mit der folgenden YAML-Konfiguration wird das IAM-Dienstkonto festgelegt:
serviceAccount: SERVICE_ACCOUNT
Ersetzen Sie SERVICE_ACCOUNT
durch den Namen des Standarddienstkontos.
Alternativ können Sie die folgende YAML-Konfiguration verwenden, um Standardbereiche festzulegen, die von der automatischen Knotenbereitstellung verwendet werden:
scopes: SCOPE
Ersetzen Sie SCOPE
durch den Google Cloud-Bereich, der von automatisch bereitgestellten Knotenpools verwendet wird. Wenn Sie mehrere Bereiche angeben möchten, trennen Sie die Bereiche durch ein Komma (z. B. SCOPE1, SCOPE2,...
).
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Erstellen Sie eine Konfigurationsdatei, in der die Standardwerte der Identitäten an einem Speicherort festgelegt sind, an dem die gcloud CLI darauf zugreifen kann.
Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)
Sie können vom Kunden verwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK) angeben, die von neuen automatisch bereitgestellten Knotenpools verwendet werden.
Sie können die vom Kunden verwaltete Verschlüsselung von Bootlaufwerken mit einer Konfigurationsdatei aktivieren. Mit der folgenden YAML-Konfiguration wird der CMEK-Schlüssel festgelegt:
bootDiskKmsKey: projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Ersetzen Sie Folgendes:
KEY_PROJECT_ID
: Ihre Schlüsselprojekt-IDLOCATION
: der Speicherort Ihres SchlüsselbundsKEY_RING
: der Name des SchlüsselbundsKEY_NAME
: der Name des Schlüssels
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Erstellen Sie eine Konfigurationsdatei, in der ein CMEK-Schlüssel an einem Speicherort festgelegt ist, an dem die gcloud CLI darauf zugreifen kann.
Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Knotenintegrität
Die automatische Knotenbereitstellung unterstützt die Erstellung von Knotenpools mit aktiviertem Secure Boot und Integritätsmonitoring.
Sie können Secure Boot und das Integritätsmonitoring mit einer Konfigurationsdatei aktivieren. Die folgende YAML-Konfiguration aktiviert Secure Boot und deaktiviert das Integritätsmonitoring:
shieldedInstanceConfig: enableSecureBoot: true enableIntegrityMonitoring: false
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für
enableSecureBoot
undenableIntegrityMonitoring
. Speichern Sie die Datei.Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Automatische Knotenreparatur und automatische Upgrades
Die automatische Knotenbereitstellung unterstützt das Erstellen von Knotenpools mit aktivierter automatischer Reparatur und automatischem Upgrade.
gcloud
Führen Sie den folgenden Befehl aus, um die automatische Reparatur und das automatische Upgrade für alle neuen, automatisch bereitgestellten Knotenpools zu aktivieren:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning --enable-autoprovisioning-autorepair \ --enable-autoprovisioning-autoupgrade
Ersetzen Sie CLUSTER_NAME
durch den Namen des Clusters.
Führen Sie den folgenden Befehl aus, um die automatische Reparatur und das automatische Upgrade für alle neuen, automatisch bereitgestellten Knotenpools zu deaktivieren:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning --no-enable-autoprovisioning-autorepair \ --no-enable-autoprovisioning-autoupgrade
Ersetzen Sie CLUSTER_NAME
durch den Namen des Clusters.
Datei
Sie können die automatische Reparatur und das automatische Upgrade von Knoten mit einer Konfigurationsdatei aktivieren oder deaktivieren. Die folgende YAML-Konfiguration aktiviert die automatische Reparatur und deaktiviert das automatische Upgrade:
management: autoRepair: true autoUpgrade: false
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für
autoUpgrade
undautoRepair
. Speichern Sie die Datei.Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Surge-Upgrades für neue automatisch bereitgestellte Knotenpools verwenden
Sie können die Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools mithilfe der gcloud CLI oder einer Konfigurationsdatei angeben. Standardmäßig ist in GKE die Knotenupgrade-Strategie auf Surge-Upgrades festgelegt.
gcloud
Führen Sie den folgenden Befehl aus, um die Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools zu übernehmen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-max-surge-upgrade MAX_SURGE \ --autoprovisioning-max-unavailable-upgrade MAX_UNAVAILABLE
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersMAX_SURGE
: die maximale Anzahl von Knoten, die während eines Upgrades dem Knotenpool hinzugefügt werden könnenMAX_UNAVAILABLE
: die maximale Anzahl von Knoten im Knotenpool, die während Upgrades gleichzeitig nicht verfügbar sind
Datei
Mithilfe einer Konfigurationsdatei wie der Folgenden können Sie Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools festlegen:
upgradeSettings: maxSurgeUpgrade: 1 maxUnavailableUpgrade: 2
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den
gcloud
zugreifen kann. Bearbeiten Sie die Werte fürmaxSurgeUpgrade
undmaxUnavailableUpgrade
. Speichern Sie die Datei.Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update
.
Führen Sie den folgenden Befehl aus, um wieder zu Surge-Upgrades für neue, automatisch bereitgestellte Knotenpools zu wechseln:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --enable-autoprovisioning-surge-upgrade
Ersetzen Sie CLUSTER_NAME
durch den Namen des Clusters.
Optional können Sie die Flags für bestimmte Einstellungen wie in den vorherigen Befehlen angeben. Die vorherige Konfiguration wird von GKE für die Upgradestrategie wiederverwendet, sofern festgelegt.
Blau/Grün-Upgrades für neue automatisch bereitgestellte Knotenpools verwenden
Sie können Blau/Grün-Upgrades für alle neuen, automatisch bereitgestellten Knotenpools mithilfe der gcloud CLI verwenden. Mit Blau/Grün-Upgrades können Sie die Standardeinstellungen verwenden oder anpassen, um Ihre Umgebung zu optimieren. Weitere Informationen zu Blau/Grün-Upgrades finden Sie unter Blau/Grün-Upgrades.
Informationen zum Aktualisieren der Knotenupgrade-Strategie für einen vorhandenen automatisch bereitgestellten Knotenpool finden Sie unter Surge-Upgrade für einen vorhandenen Knotenpool aktivieren oder deaktivieren und unter Vorhandene Blau/Grün-Upgradestrategie für einen Knotenpool aktualisieren.
Die folgenden Variablen werden in den unten aufgeführten Befehlen verwendet:
CLUSTER_NAME
ist der Name des Clusters für den Knotenpool.COMPUTE_ZONE
: Die Zone für den Cluster.NODE_POOL_NAME
ist der Name des Knotenpools.NUMBER_NODES
: Die Anzahl der Knoten im Knotenpool in jeder der Clusterzonen.BATCH_NODE_COUNT
: Die Anzahl der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Die Standardeinstellung ist eins. Wenn sie auf null gesetzt ist, wird die blaue Poolleerungsphase übersprungen.BATCH_PERCENT
: Der Prozentsatz der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Der Wert muss im Bereich von 0,0 bis 1,0 liegen.BATCH_SOAK_DURATION
: Die Dauer in Sekunden, die nach jeder Batchleerung gewartet werden soll. Die Standardeinstellung ist null.NODE_POOL_SOAK_DURATION
: Die Wartezeit in Sekunden nach Abschluss des Leerens aller Batches. Die Standardeinstellung beträgt 3.600 Sekunden.
Die Standardeinstellungen für Blau/Grün-Upgrades sind:
BATCH_NODE_COUNT
= 1BATCH_SOAK_DURATION
= 0 SekundenNODE_POOL_SOAK_DURATION
= 3.600 Sekunden (1 Stunde)
Cluster aktualisieren, um Blau/Grün-Upgrades für neue, automatisch bereitgestellte Knotenpools zu verwenden
In den folgenden Befehlen wird mit gcloud container clusters
update
die Knotenupgrade-Strategie für neue, automatisch bereitgestellte Knotenpools aktualisiert.
Sie können diese Flags auch in folgenden Fällen verwenden:
- Bei Verwendung des Befehls
gcloud container clusters create
, um einen Cluster mit aktivierter automatischer Knotenbereitstellung zu erstellen. - Bei Verwendung des Befehls
gcoud container clusters update
, um die automatische Knotenbereitstellung zu aktivieren.
Führen Sie den folgenden Befehl aus, um einen Cluster für die Verwendung von Blau/Grün-Upgrades mit Standardeinstellungen für neue, automatisch bereitgestellte Knotenpools zu aktualisieren:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --enable-autoprovisioning-blue-green-upgrade
Sie können einen Cluster aktualisieren, um Blau/Grün-Upgrades mit spezifischen Einstellungen für neue, automatisch bereitgestellte Knotenpools zu verwenden. Diese Befehle können auch ohne das Flag --enable-autoprovisioning-blue-green-upgrade
verwendet werden, um die Einstellungen zu aktualisieren.
Der folgende Befehl verwendet BATCH_NODE_COUNT
, um eine Batchgröße für die absolute Knotenanzahl festzulegen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --enable-autoprovisioning-blue-green-upgrade \ --autoprovisioning-node-pool-soak-duration=NODE_POOL_SOAK_DURATION \ --autoprovisioning-standard-rollout-policy=batch-node-count=BATCH_NODE_COUNT,batch-soak-duration=BATCH_SOAK_DURATION
Sie können auch BATCH_PERCENT
verwenden, um eine prozentuale Batchgröße festzulegen. Ersetzen Sie dabei batch-node-count
im letzten Befehl durch batch-percent
und verwenden Sie eine Dezimalzahl zwischen 0 und 1 (25 % ist z. B. 0.25
). Informationen zum Festlegen von prozentualen Batchgrößen finden Sie unter Knotenpool mit Blau/Grün-Upgrade aktualisieren und dabei prozentuale Batchgrößen verwenden.
Benutzerdefinierte Bootlaufwerke
Die automatische Knotenbereitstellung unterstützt die Erstellung von Knotenpools mit benutzerdefinierten Bootlaufwerken.
Sie können die Einstellung des Bootlaufwerks mit einer Konfigurationsdatei anpassen. GKE reserviert einen Teil des Knoten-Bootlaufwerks für die Kubelet-Funktionen. Weitere Informationen finden Sie unter Flüchtiger Speicher mit Bootlaufwerk des Knotens.
Die folgende YAML-Konfiguration bewirkt, dass die automatische Knotenbereitstellung Knotenpools mit SSD-Laufwerken mit einer Größe von 100 GB erstellt:
diskSizeGb: 100 diskType: pd-ssd
Geben Sie Folgendes an:
diskSizeGb
: die Größe des Laufwerks in GBdiskType
: der Typ des Laufwerks, nämlich einer der folgenden Werte:pd-balanced
(Standard)pd-standard
pd-ssd
. Wenn Sie in der GKE-Version 1.22 und früherpd-ssd
angeben, berücksichtigt die automatische Knotenbereitstellung beim Erstellen von Knotenpools nur N1-Maschinentypen.
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Erstellen Sie eine Datei mit der gewünschten Bootlaufwerkkonfiguration an einem Speicherort, an dem die gcloud CLI darauf zugreifen kann.
Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Von GKE verwaltete Pods von Arbeitslasten trennen
Als Clusteradministrator können Sie Pods trennen, die GKE von Ihren Arbeitslasten verwaltet. Diese Trennung trägt dazu bei, Probleme mit dem Herunterskalieren zu vermeiden, wenn im Cluster nicht ausgelastete Knoten vorhanden sind, auf denen System-Pods ausgeführt werden.
Das folgende Beispiel zeigt, wie Sie verwaltete Pods mithilfe einer Kombination aus automatischer Knotenbereitstellung sowie Kubernetes-Markierungen und -Toleranzen von Ihren Arbeitslasten trennen können.
Erstellen Sie einen Cluster mit einem Standardknotenpool von
e2-standard-2
-VMs und wenden Sie eine Knotenmarkierung an, mit der GKE-Systemarbeitslasten nur auf diesen Knoten ausgeführt werden können:gcloud container clusters create test-cluster \ --machine-type=e2-standard-2 \ --node-taints=components.gke.io/gke-managed-components=true:NoSchedule
Aktivieren Sie die automatische Knotenbereitstellung für Ihren Cluster:
gcloud container clusters update test-cluster \ --enable-autoprovisioning \ --min-cpu 1 \ --min-memory 1 \ --max-cpu 10 \ --max-memory 64
Ihr Cluster kann zwischen einer Clustergesamtgröße von 1 CPU und 1 GB Arbeitsspeicher auf maximal 10 CPU und 64 GB Arbeitsspeicher skaliert werden.
Testen Sie diese Konfiguration. Speichern Sie dazu das folgende Beispielmanifest als
nginx.yaml
:apiVersion: v1 kind: Pod metadata: name: nginx labels: env: test spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent tolerations: - key: dedicated operator: Equal value: ui-team effect: NoSchedule nodeSelector: dedicated: ui-team
Mit diesem Manifest wird ein Testarbeitslast-Pod im Cluster mit dem Label
nodeSelector
und der Knotenmarkierungdedicated: ui-team
bereitgestellt. Ohne die automatische Knotenbereitstellung kann dieser Arbeitslast-Pod nicht geplant werden, da kein Knotenpool das richtige Label und die entsprechenden Markierungen hat.Wenden Sie das Manifest auf den Cluster an:
kubectl apply -f nginx.yaml
Die Ausgabe sieht in etwa so aus:
pod/nginx created
Sehen Sie sich den neuen Knotenpool an, der zum Label
ui-team
passt:kubectl get node --selector=dedicated=ui-team
Die Ausgabe sieht in etwa so aus:
NAME STATUS ROLES AGE VERSION gke-test-nap-e2-medium-14b723z1-19f89fa8-jmhr Ready <none> 14s v1.21.11-gke.900
Der Cluster trennt Ihre Arbeitslasten von verwalteten GKE-Pods.
Laufzeit von automatisch bereitgestellten Knoten begrenzen
Ab GKE-Version 1.31.1-gke.1146000 können Sie die Laufzeit automatisch bereitgestellter Knoten mithilfe der Knotenauswahl cloud.google.com/gke-max-run-duration-seconds
begrenzen.
Fügen Sie Ihrem Manifest das folgende Feld hinzu:
spec:
nodeSelector:
cloud.google.com/gke-max-run-duration-seconds: "MAX_RUN_DURATION"
Ersetzen Sie MAX_RUN_DURATION
durch die Dauer in Sekunden, über die der automatisch bereitgestellte Knoten ausgeführt werden soll, bevor er automatisch beendet wird.
Informationen zu Einschränkungen finden Sie unter Einschränkungen für die maximale Ausführungsdauer.
Beschleuniger für neue automatisch bereitgestellte Knotenpools verwenden
Sie können die automatische Knotenbereitstellung aktivieren und GKE so konfigurieren, dass GPU- oder Cloud TPU-Beschleuniger automatisch bereitgestellt werden, um die erforderliche Kapazität für die Planung von KI/ML-Arbeitslasten zu gewährleisten.
GPU-Limits konfigurieren
Wenn Sie die automatische Knotenbereitstellung mit GPUs verwenden, können Sie mit der gcloud CLI oder der Google Cloud Console die Höchstgrenze für jeden GPU-Typ im Cluster festlegen. Die GPU-Limitanzahl ist die maximale Anzahl von GPUs. Zum Beispiel zählt eine VM mit 16 GPUs im Rahmen dieses Limits als 16 und nicht als 1. Wenn Sie mehrere GPU-Typen konfigurieren möchten, müssen Sie eine Konfigurationsdatei verwenden.
Führen Sie den Befehl gcloud compute accelerator-types list
aus, um die verfügbaren resourceTypes auflisten zu lassen.
gcloud
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --max-cpu MAXIMUM_CPU \ --max-memory MAXIMUM_MEMORY \ --min-accelerator type=GPU_TYPE,count=MINIMUM_ACCELERATOR \ --max-accelerator type=GPU_TYPE,count=MAXIMUM_ACCELERATOR
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersMAXIMUM_CPU
: die maximale Anzahl der Kerne im ClusterMAXIMUM_MEMORY
: die maximale Anzahl von Gigabyte Arbeitsspeicher im ClusterGPU_TYPE
: GPU-TypMINIMUM_ACCELERATOR
: die Mindestanzahl von GPU-Beschleunigern im ClusterMAXIMUM_ACCELERATOR
: die maximale Anzahl von GPU-Beschleunigern im Cluster
Im folgenden Beispiel werden die GPU-Limits für den GPU-Beschleunigertyp nvidia-tesla-t4
im Cluster dev-cluster
festgelegt:
gcloud container clusters update dev-cluster \ --enable-autoprovisioning \ --max-cpu 10 \ --max-memory 64 \ --min-accelerator type=nvidia-tesla-t4,count=1 \ --max-accelerator type=nvidia-tesla-t4,count=4
Datei
Wenn Sie eine Konfigurationsdatei verwenden, können Sie Limits für mehrere Grafikprozessortypen laden. Mit der folgenden YAML-Konfiguration werden zwei verschiedene GPU-Typen konfiguriert:
resourceLimits: - resourceType: 'cpu' minimum: 4 maximum: 10 - resourceType: 'memory' maximum: 64 - resourceType: 'nvidia-tesla-t4' maximum: 4 - resourceType: 'nvidia-tesla-v100' maximum: 2
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für
cpu
undmemory
. Fügen Sie beliebig viele Werte fürresourceType
hinzu. Speichern Sie die Datei.Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update
.
Console
Führen Sie die folgenden Schritte aus, um die automatische Knotenbereitstellung mit GPU-Ressourcen zu aktivieren:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters.
Klicken Sie im Abschnitt Automatisierung unter Automatische Knotenbereitstellung auf
Bearbeiten.Klicken Sie auf das Kästchen Automatische Knotenbereitstellung aktivieren.
Legen Sie die minimale und maximale CPU- und Arbeitsspeicherauslastung für den Cluster fest.
Klicken Sie auf
Ressource hinzufügen.Wählen Sie den GPU-Typ (z. B. NVIDIA T4) aus, den Sie hinzufügen möchten. Legen Sie die Mindest- und Höchstzahl von GPUs fest, die dem Cluster hinzugefügt werden sollen.
Akzeptieren Sie die Einschränkungen für GPUs in GKE.
Klicken Sie auf Änderungen speichern.
Treiberversion zur Installation auswählen
In GKE-Version 1.29.2-gke.1108000 und höher können Sie eine GPU-Treiberversion für GKE auswählen, die automatisch in automatisch bereitgestellten GPU-Knoten installiert wird. Fügen Sie Ihrem Manifest das folgende Feld hinzu:
spec:
nodeSelector:
cloud.google.com/gke-gpu-driver-version: "DRIVER_VERSION"
Ersetzen Sie DRIVER_VERSION
durch einen der folgenden Werte:
default
: der standardmäßige, stabile Treiber für Ihre GKE-Version des Knotens. Wenn Sie den nodeSelector in Ihrem Manifest weglassen, ist dies die Standardoption.latest
ist die neueste verfügbare Treiberversion für Ihre GKE-Knotenversion.
Cloud TPUs konfigurieren
Weitere Informationen zur Funktionsweise der automatischen Knotenbereitstellung mit TPUs finden Sie unter Unterstützte ML-Beschleuniger.
Erstellen Sie einen Cluster und konfigurieren Sie Ihre Pods mithilfe der gcloud CLI für die Verwendung von TPU-Ressourcen. Wenn Sie mehrere TPU-Typen konfigurieren möchten, müssen Sie eine Konfigurationsdatei verwenden.
gcloud
Erstellen Sie einen Cluster und definieren Sie die TPU-Limits:
gcloud container clusters create CLUSTER_NAME \ --enable-autoprovisioning \ [--min-cpu MINIMUM_CPU ] \ --max-cpu MAXIMUM_CPU \ [--min-memory MINIMUM_MEMORY ] \ --max-memory MAXIMUM_MEMORY \ [--min-accelerator=type=TPU_TYPE,count= MINIMUM_ACCELERATOR ] \ --max-accelerator=type=TPU_TYPE,count= MAXIMUM_ACCELERATOR
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des Clusters.MINIMUM_CPU
: die Mindestanzahl von vCPUs im ClusterMAXIMUM_CPU
: die maximale Anzahl von vCPUs im ClusterMINIMUM_MEMORY
: die Mindestanzahl von Gigabyte Arbeitsspeicher im ClusterMAXIMUM_MEMORY
: die maximale Anzahl von Gigabyte Arbeitsspeicher im ClusterTPU_TYPE
: der von Ihnen ausgewählte TPU-Typ. Verwenden Sietpu-v4-podslice
, um TPU v4 auszuwählen. Verwenden Sietpu-v5-lite-podslice
, um TPU v5e mit einem Maschinentyp auszuwählen, der mitct5lp-
beginnt. Verwenden Sietpu-v5-lite-device
, um TPU v5e mit einem Maschinentyp auszuwählen, der mitct5l-
beginnt.MINIMUM_ACCELERATOR
: die Mindestanzahl von TPU-Chips im Cluster.- Beachten Sie, dass die Verwendung von
MINIMUM_ACCELERATOR
das Herunterskalieren von TPU-Slices mit mehreren Hosts blockieren kann, selbst wenncount
kleiner als die Anzahl der TPU-Chips im Slice ist.
- Beachten Sie, dass die Verwendung von
MAXIMUM_ACCELERATOR
: die maximale Anzahl von TPU-Chips im Cluster- Wenn die Pod-Konfiguration ein TPU-Segment mit mehreren Hosts anfordert, erstellt GKE ein solches Segment atomar. Legen Sie den Zählerwert hoch genug fest, um die Bereitstellung aller TPU-Chips der angegebenen Topologie zu ermöglichen. Die Anzahl der Chips in jedem TPU-Slice entspricht dem Produkt der Topologie. Wenn die Topologie des TPU-Slices mit mehreren Hosts beispielsweise
2x2x2
ist, beträgt die Anzahl der TPU-Chips8
, daher mussMAXIMUM_ACCELERATOR
größer als 8 sein.
- Wenn die Pod-Konfiguration ein TPU-Segment mit mehreren Hosts anfordert, erstellt GKE ein solches Segment atomar. Legen Sie den Zählerwert hoch genug fest, um die Bereitstellung aller TPU-Chips der angegebenen Topologie zu ermöglichen. Die Anzahl der Chips in jedem TPU-Slice entspricht dem Produkt der Topologie. Wenn die Topologie des TPU-Slices mit mehreren Hosts beispielsweise
Im folgenden Beispiel werden die TPU-Limits für die Maschinentypen
ct5lp-hightpu-1t
,ct5lp-hightpu-4t
undct5lp-hightpu-8t
im Clusterdev-cluster
festgelegt. Beispielsweise können bis zu zehnct5lp-hightpu-4t
-Maschinen mit jeweils 4 TPU-Chips, 112 vCPUs und 192 GiB-Arbeitsspeicher bereitgestellt werden.gcloud container clusters create dev-cluster-inference \ --enable-autoprovisioning \ --min-cpu 0 \ --max-cpu 1120 \ --min-memory 0 \ --max-memory 1920 \ --min-accelerator=type=tpu-v5-lite-podslice,count=0 \ --max-accelerator=type=tpu-v5-lite-podslice,count=40
Erstellen Sie eine Deployment-Spezifikation, die dazu führt, dass ein Pod TPU-Ressourcen anfordert. Das folgende Manifest führt beispielsweise dazu, dass GKE vier
ct5lp-hightpu-4t
-Knoten bereitstellt:apiVersion: apps/v1 kind: Deployment metadata: name: tpu-workload labels: app: tpu-workload spec: replicas: 4 selector: matchLabels: app: nginx-tpu template: metadata: labels: app: nginx-tpu spec: nodeSelector: cloud.google.com/gke-tpu-accelerator: tpu-v5-lite-podslice cloud.google.com/gke-tpu-topology: 2x2 cloud.google.com/reservation-name: my-reservation containers: - name: nginx image: nginx:1.14.2 resources: requests: google.com/tpu: 4 limits: google.com/tpu: 4 ports: - containerPort: 80
Im Feld
nodeSelector
definieren Sie den TPU-Typ, die TPU-Topologie und die Beschleunigeranzahl. Dabei gilt:cloud.google.com/gke-tpu-accelerator
: Definiert den TPU-Typ. Beispiel:tpu-v4-podslice
cloud.google.com/gke-tpu-topology
: Definiert die TPU-Topologie, z. B.2x2x1
oder4x4x8
.
Wenn Sie eine vorhandene Reservierung für Ihre Arbeitslast verwenden möchten, geben Sie im Feld
nodeSelector
ein zusätzliches Label an: *cloud.google.com/reservation-name
: Definiert den Namen der Reservierung, die GKE für die automatische Bereitstellung der Knoten verwendet.Unter
limits: google.com/tpu
definieren Sie die Anzahl der Chips pro Knoten.
Datei
Sie können Limits für mehrere TPU-Typen mithilfe einer Konfigurationsdatei zuweisen. Mit der folgenden YAML-Konfiguration werden zwei verschiedene TPU-Typen konfiguriert:
resourceLimits: - resourceType: 'cpu' maximum: 10000 - resourceType: 'memory' maximum: 10000 - resourceType: 'tpu-v4-podslice' maximum: 32 - resourceType: 'tpu-v5-lite' maximum: 64
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für
resourceType
undmaximum
. Fügen Sie beliebig viele Werte fürresourceType
hinzu. Speichern Sie die Datei.Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Name der Konfigurationsdatei
Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update
.
Standorte für die automatische Bereitstellung von Knoten
Sie legen die Zonen fest, in denen über die automatische Knotenbereitstellung neue Knotenpools erstellt werden können. Regionale Standorte werden nicht unterstützt. Zonen müssen zu derselben Region wie der Cluster gehören, sind aber nicht auf Knotenstandorte beschränkt, die auf Clusterebene definiert sind. Eine Änderung der Standorte für die automatische Knotenbereitstellung hat keine Auswirkungen auf vorhandene Knotenpools.
Verwenden Sie die gcloud CLI oder eine Konfigurationsdatei, um Standorte festzulegen, an denen durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning --autoprovisioning-locations=ZONE
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersZONE
ist die Zone, in der durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können Wenn Sie mehrere Zonen angeben möchten, trennen Sie die Zonen durch ein Komma voneinander ab (z. B.ZONE1, ZONE2,...
).
Datei
Mit einer Konfigurationsdatei können Sie Standorte festlegen, an denen durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können.
Fügen Sie die folgende YAML-Konfiguration hinzu, die den Standort der neuen Knotenpools festlegt:
autoprovisioningLocations:
- ZONE
Ersetzen Sie ZONE
durch die Zone, in der neue Knotenpools durch die automatische Knotenbereitstellung erstellt werden können. Wenn Sie mehrere Zonen angeben möchten, fügen Sie der Liste weitere Zonen hinzu. Speichern Sie die Datei.
So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:
Erstellen Sie eine Konfigurationsdatei an einem Speicherort, an dem
gcloud CLI
darauf zugreifen kann.Wenden Sie die Konfiguration auf Ihren Cluster an:
gcloud container clusters update CLUSTER_NAME \ --enable-autoprovisioning \ --autoprovisioning-config-file FILE_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersFILE_NAME
: der Pfad zur Konfigurationsdatei
Nahe beieinander liegende Knoten mit kompakter Platzierung
Ab der GKE-Version 1.25 unterstützt die automatische Knotenbereitstellung die Richtlinie für kompakte Platzierung. Mit der Richtlinie für kompakte Platzierung können Sie GKE anweisen, Knotenpools näher beieinander innerhalb einer Zone zu erstellen.
Zum Definieren einer Richtlinie für kompakte Platzierung fügen Sie der Pod-Spezifikation mit den folgenden Schlüsseln einen nodeSelector
hinzu.
cloud.google.com/gke-placement-group
ist die Kennung, die Sie der Gruppe von Pods zuweisen, die zusammen in derselben kompakten Placement-Gruppe ausgeführt werden sollen.cloud.google.com/machine-family
ist der Name der Maschinenfamilie. Weitere Informationen finden Sie unter Maschinenfamilien, die die kompakte Platzierung unterstützen.
Im folgenden Beispiel wird eine Richtlinie für kompakte Platzierung mit einer Placement-Gruppen-ID von placement-group-1
und einer Maschinenfamilie von c2
festgelegt:
apiVersion: v1
kind: Pod
metadata:
...
spec:
...
nodeSelector:
cloud.google.com/gke-placement-group: placement-group-1
cloud.google.com/machine-family: c2
Weitere Informationen finden Sie unter Kompakte Platzierung für GKE-Knoten definieren.
Automatische Knotenbereitstellung deaktivieren
Wenn Sie die automatische Knotenbereitstellung für einen Cluster deaktivieren, werden Knotenpools nicht mehr automatisch bereitgestellt.
gcloud
Führen Sie den folgenden Befehl aus, um die automatische Knotenbereitstellung für einen Cluster zu deaktivieren:
gcloud container clusters update CLUSTER_NAME \ --no-enable-autoprovisioning
Ersetzen Sie CLUSTER_NAME
durch den Namen Ihres Clusters.
Datei
So deaktivieren Sie die automatische Knotenbereitstellung über die Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters.
Klicken Sie im Abschnitt Automatisierung bei Automatische Bereitstellung von Knoten auf
Bearbeiten.Entfernen Sie das Häkchen bei Automatische Knotenbereitstellung aktivieren.
Klicken Sie auf Änderungen speichern.
Knotenpool als automatisch bereitgestellt markieren
Nach dem Aktivieren der automatischen Knotenbereitstellung für den Cluster können Sie angeben, welche Knotenpools automatisch bereitgestellt werden sollen. Ein automatisch bereitgestellter Knotenpool wird automatisch gelöscht, wenn er von keinen Arbeitslasten verwendet wird.
Führen Sie den folgenden Befehl aus, um einen Knotenpool als automatisch bereitgestellt zu kennzeichnen:
gcloud container node-pools update NODE_POOL_NAME \ --enable-autoprovisioning
Ersetzen Sie NODE_POOL_NAME
durch den Namen des Knotenpools.
Knotenpool als nicht automatisch bereitgestellt markieren
Führen Sie den folgenden Befehl aus, um einen Knotenpool als nicht automatisch bereitgestellt zu kennzeichnen:
gcloud container node-pools update NODE_POOL_NAME \ --no-enable-autoprovisioning
Ersetzen Sie NODE_POOL_NAME
durch den Namen des Knotenpools.
Benutzerdefinierte Maschinenfamilie verwenden
Sie können eine bestimmte Compute Engine-Maschinenreihe wie n2
oder t2d
für Ihre Arbeitslasten auswählen, indem Sie eines der folgenden Felder in Ihrem Manifest festlegen:
- Legen Sie die Knotenaffinität mit dem Schlüssel von
cloud.google.com/machine-family
, mit dem OperatorIn
und mit dem Wert für die gewünschte Maschinenfamilie (z. B.n2
) fest. - Fügen Sie einen
nodeSelector
mit dem Schlüssel voncloud.google.com/machine-family
und mit dem Wert für die gewünschte Maschinenfamilie hinzu.
Im folgenden Beispiel wird für nodeAffinity
die Maschinenfamilie n2
festgelegt:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: cloud.google.com/machine-family
operator: In
values:
- n2
Nach Anwendung der Änderungen wählt die automatische Knotenbereitstellung den besten Knotenpool mit einem Maschinentyp aus der angegebenen Maschinenreihe aus. Wenn Sie mehrere Einträge für matchExpressions
angeben, wählt GKE eine Maschinenreihe aus den angegebenen Einträgen nach dem Zufallsprinzip aus.
Knotenattribute mit einer benutzerdefinierten Compute-Klasse steuern
Wenn Sie die Attribute Ihrer automatisch bereitgestellten Knotenpools genauer steuern möchten, erstellen und verwenden Sie benutzerdefinierte Compute-Klassen. Mit benutzerdefinierten Compute-Klassen können Sie Skalierungsverhalten wie Fallback-Prioritäten bei der Auswahl von Maschinentypen für Knoten oder bestimmte Grenzwerte für die Ressourcennutzung konfigurieren, die die Konsolidierung von Arbeitslasten auf Knoten auslösen, um nicht verwendete Ressourcen freizugeben. Benutzerdefinierte Compute-Klassen sind in der GKE-Version 1.30.3-gke.1451000 und höher verfügbar.
Informationen zu den Funktionen benutzerdefinierter Compute-Klassen und zur Verwendung benutzerdefinierter Compute-Klassen mit der automatischen Knotenbereitstellung finden Sie unter Benutzerdefinierte Compute-Klassen.
Mindest-CPU-Plattform
Die automatische Knotenbereitstellung unterstützt das Erstellen von Knotenpools mit einer angegebenen Mindest-CPU-Plattform. Sie können die Mindest-CPU-Plattform auf Arbeitslastebene (empfohlen) oder auf Clusterebene angeben.