Bereitstellen verwalteter Knoten mit Compute-Hostgruppen
Erfahren Sie, wie Sie mit Compute-Hostgruppen steuern, wo Kubernetes Engine verwaltete Worker-Knoteninstanzen erstellt, einschließlich der Verwendung von Compute-Hostgruppen, die für eine schnelle Wiederverwendung konfiguriert sind.
Eine Compute-Hostgruppe ist eine Compute-Serviceressource, die Hosts in einem Compartment und einer Availability-Domain gruppiert. In Kubernetes Engine können Sie eine Compute-Hostgruppe als Kapazitätstyp für eine Konfiguration zur Platzierung eines verwalteten Knotenpools auswählen. Wenn Kubernetes Engine Worker-Knoteninstanzen für diese Platzierungskonfiguration erstellt, platziert der Compute-Service die Instanzen auf Hosts in der ausgewählten Compute-Hostgruppe.
Mit Compute-Hostgruppen können Sie steuern, wo Kubernetes Engine Worker-Knoteninstanzen für einen verwalteten Knotenpool erstellt. Dies ist nützlich für Knotenpools, die Bare-Metal-Ausprägungen verwenden und eine dedizierte Hostplatzierung oder ein schnelles Recyclingverhalten erfordern.
Die Funktion "Schnelles Recycling" ist eine Compute-Hostgruppenfunktion, mit der ein Host schneller wiederverwendet werden kann, nachdem die Worker-Knoteninstanz auf dem Host beendet wurde. Schnelles Recycling ist nur mit unterstützten Ausprägungen verfügbar. Bei Kubernetes Engine bedeutet dies, dass der Host, wenn eine Worker-Knoteninstanz beendet wird, je nach Konfiguration der Compute-Hostgruppe früher für eine Ersatz-Worker-Knoteninstanz verfügbar werden kann.
Kubernetes Engine erstellt keine Compute-Hostgruppen, hängt keine Hosts an Compute-Hostgruppen an oder konfiguriert keine Hostgruppen-Recycle-Ebenen. Erstellen und konfigurieren Sie die Compute-Hostgruppe in der Compute-Service-API oder -CLI, bevor Sie sie in Kubernetes Engine auswählen. Weitere Informationen zum Erstellen und Konfigurieren von Compute-Hostgruppen finden Sie in der ComputeHostGroup-API-Referenz und der compute-host-group-CLI-Referenz in der Compute-Servicedokumentation.
Das Ändern der Compute-Hostgruppe für eine Platzierungskonfiguration wirkt sich auf neue Worker-Knoteninstanzen aus. Vorhandene Worker-Knoteninstanzen werden nicht automatisch verschoben. Um die aktualisierte Compute-Hostgruppe für vorhandene Knoten zu verwenden, beenden und ersetzen Sie die vorhandenen Worker-Knoteninstanzen, sodass der Compute-Service die Ersatzinstanzen auf Hosts in der aktualisierten Compute-Hostgruppe platziert. Weitere Informationen finden Sie unter Worker-Knoten beenden und ersetzen.
Beachten Sie Folgendes, bevor Sie eine Compute-Hostgruppe mit einem verwalteten Knotenpool verwenden:
- Erstellen und konfigurieren Sie die Compute-Hostgruppe im Compute-Service.
- Stellen Sie sicher, dass der Lebenszyklusstatus der Compute-Hostgruppe
ACTIVElautet. - Stellen Sie sicher, dass sich die Compute-Hostgruppe in derselben Availability-Domain wie die Konfiguration der Knotenpoolplatzierung befindet.
- Stellen Sie sicher, dass die Ausprägung des Knotenpools mit der Ausprägung der Compute-Hostgruppe übereinstimmt.
- Verwenden Sie für eine schnelle Wiederverwendung eine Ausprägung, die eine schnelle Wiederverwendung unterstützt, und konfigurieren Sie die Wiederverwertungsebene der Compute-Hostgruppe im Compute-Service, bevor Sie die Compute-Hostgruppe in Kubernetes Engine auswählen.
- Fügen Sie die erforderliche IAM-Policy hinzu, damit Kubernetes Engine die Compute-Hostgruppe beim Starten von Worker-Knoteninstanzen verwenden kann.
Erforderliche IAM-Policy
Damit ein Knotenpool eine Compute-Hostgruppe verwenden kann, muss eine Policy vorhanden sein, mit der der Resource Principal des Knotenpools die Compute-Hostgruppe verwenden kann. Beispiel:
allow any-user to {HOST_GROUP_LAUNCH_INSTANCE} in compartment <compartment_name> where request.principal.type = 'nodepool' and target.resource.id = '<host_group_OCID>'
Hierbei gilt:
<compartment_name>ist der Name des Compartments, das die Compute-Hostgruppe enthält.<host_group_OCID>ist die OCID der Compute-Hostgruppe.
Konsole verwenden
Sie können eine Compute-Hostgruppe angeben, wenn Sie ein Cluster mit einem verwalteten Knotenpool erstellen, einen verwalteten Knotenpool erstellen oder einen vorhandenen verwalteten Knotenpool aktualisieren.
Cluster erstellen und Compute-Hostgruppe für einen verwalteten Knotenpool angeben
- Befolgen Sie die Anweisungen zum Erstellen eines Clusters mit dem Workflow "Benutzerdefinierte Erstellung". Siehe Cluster mit explizit definierten Einstellungen im Workflow "Benutzerdefinierte Erstellung" mit dem Workflow "Konsole erstellen".
- Bei der Angabe der Knotenplatzierungskonfiguration für einen verwalteten Knotenpool im Cluster:
- Geben Sie die erste Availability-Domain und das erste Subnetz an:
- Availability-Domain: Wählen Sie die Availability-Domain aus, in der Worker-Knoten erstellt werden sollen. Wenn Sie eine Compute-Hostgruppe auswählen, muss sich die Compute-Hostgruppe in derselben Availability-Domain befinden.
- Subnetz-Compartment des Worker-Knotens: Wählen Sie das Compartment aus, in dem sich das Worker-Knotensubnetz befindet.
- Worker-Knotensubnetz: Wählen Sie aus der Liste der Subnetze im angegebenen Compartment ein regionales Subnetz (empfohlen) oder ein AD-spezifisches Subnetz aus, das zum Hosten von Worker-Knoten konfiguriert ist.
- Faultdomains: (Optional) Eine oder mehrere Faultdomains in der Availability-Domain, in der Worker-Knoten platziert werden sollen.
-
Wählen Sie Erweiterte Optionen aus, und geben Sie die zu verwendende Compute-Hostgruppe an:
- Kapazitätstyp: Wählen Sie Hostgruppe aus.
- Compartment: Wählen Sie das Compartment aus, das die Compute-Hostgruppe enthält.
-
Hostgruppe: Wählen Sie die zu verwendende Compute-Hostgruppe aus der Liste aus. Die Compute-Hostgruppe muss sich in derselben Availability-Domain wie die Platzierungskonfiguration befinden.
- Wählen Sie optional Zeile hinzufügen aus, um der Platzierungskonfiguration zusätzliche Availability-Domains, Subnetze und Compute-Hostgruppen hinzuzufügen. Wenn Sie mehrere Availability-Domains in der Platzierungskonfiguration eines Knotenpools angeben, können Sie für jede Availability-Domain eine andere Compute-Hostgruppe angeben.
- Geben Sie die erste Availability-Domain und das erste Subnetz an:
- Erstellen Sie das Cluster.
Kubernetes Engine erstellt den Cluster- und verwalteten Knotenpool. Für jede Platzierungskonfiguration, die eine Compute-Hostgruppe angibt, platziert der Compute-Service Worker-Knoteninstanzen auf Hosts in der ausgewählten Compute-Hostgruppe.
Verwalteten Knotenpool erstellen und Compute-Hostgruppe angeben
- Wählen Sie auf der Listenseite Cluster den Namen des Clusters aus, in dem Sie einen neuen Knotenpool erstellen möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter Cluster auflisten.
- Wählen Sie auf der Seite "Clusterdetails" in der Registerkarte Knotenpools die Option Knotenpool hinzufügen aus, um einen neuen verwalteten Knotenpool zu erstellt und die erforderlichen Eigenschaften für den dazugehörigen Worker-Knoten anzugeben.
- Bei der Angabe der Knotenplatzierungskonfiguration für einen verwalteten Knotenpool im Cluster:
- Geben Sie die erste Availability-Domain und das erste Subnetz an:
- Availability-Domain: Wählen Sie die Availability-Domain aus, in der Worker-Knoten erstellt werden sollen. Wenn Sie eine Compute-Hostgruppe auswählen, muss sich die Compute-Hostgruppe in derselben Availability-Domain befinden.
- Subnetz-Compartment des Worker-Knotens: Wählen Sie das Compartment aus, in dem sich das Worker-Knotensubnetz befindet.
- Worker-Knotensubnetz: Wählen Sie aus der Liste der Subnetze im angegebenen Compartment ein regionales Subnetz (empfohlen) oder ein AD-spezifisches Subnetz aus, das zum Hosten von Worker-Knoten konfiguriert ist.
- Faultdomains: (Optional) Eine oder mehrere Faultdomains in der Availability-Domain, in der Worker-Knoten platziert werden sollen.
-
Wählen Sie Erweiterte Optionen aus, und geben Sie die zu verwendende Compute-Hostgruppe an:
- Kapazitätstyp: Wählen Sie Hostgruppe aus.
- Compartment: Wählen Sie das Compartment aus, das die Compute-Hostgruppe enthält.
-
Hostgruppe: Wählen Sie die zu verwendende Compute-Hostgruppe aus der Liste aus. Die Compute-Hostgruppe muss sich in derselben Availability-Domain wie die Platzierungskonfiguration befinden.
- Wählen Sie optional Zeile hinzufügen aus, um der Platzierungskonfiguration zusätzliche Availability-Domains, Subnetze und Compute-Hostgruppen hinzuzufügen. Wenn Sie mehrere Availability-Domains in der Platzierungskonfiguration eines Knotenpools angeben, können Sie für jede Availability-Domain eine andere Compute-Hostgruppe angeben.
- Geben Sie die erste Availability-Domain und das erste Subnetz an:
- Erstellen Sie den Knotenpool.
Kubernetes Engine erstellt den verwalteten Knotenpool. Für jede Platzierungskonfiguration, die eine Compute-Hostgruppe angibt, platziert der Compute-Service Worker-Knoteninstanzen auf Hosts in der ausgewählten Compute-Hostgruppe.
Compute-Hostgruppe für einen verwalteten Knotenpool aktualisieren
- Wählen Sie auf der Listenseite Cluster den Namen des Clusters, das Sie ändern möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter Cluster auflisten.
- Wählen Sie auf der Seite "Clusterdetails" in der Registerkarte Knotenpools den Namen des verwalteten Knotenpools aus, den Sie ändern möchten.
- Wählen Sie Bearbeiten aus dem Menü Aktionen.
- Wählen Sie unter Knotenplatzierungskonfiguration die Option Erweiterte Optionen aus, und aktualisieren Sie den Kapazitätstyp oder die ausgewählte Compute-Hostgruppe nach Bedarf.
- Speichern Sie die Änderungen.
Die aktualisierte Compute-Hostgruppe wird für neue Worker-Knoteninstanzen verwendet. Vorhandene Worker-Knoteninstanzen werden nicht automatisch verschoben.
Um die aktualisierte Compute-Hostgruppe für vorhandene Knoten zu verwenden, beenden und ersetzen Sie die vorhandenen Worker-Knoteninstanzen, sodass der Compute-Service die Ersatzinstanzen auf Hosts in der aktualisierten Compute-Hostgruppe platziert. Weitere Informationen finden Sie unter Worker-Knoten beenden und ersetzen.
CLI verwenden
Erstellen eines verwalteten Knotenpools, der eine Compute-Hostgruppe verwendet
Um mit der CLI einen verwalteten Knotenpool zu erstellen, der eine Compute-Hostgruppe zum Provisioning verwalteter Knoten verwendet, nehmen Sie das Schlüssel/Wert-Paar hostGroupId im Array placementConfigs im Parameter --node-config-details im folgenden Format auf:
oci ce node-pool create \
--cluster-id <cluster_OCID> \
--compartment-id <compartment_OCID> \
--name <node_pool_name> \
--kubernetes-version <kubernetes_version> \
--node-shape <shape> \
--node-config-details '{
"size": 3,
"placementConfigs": [
{
"availabilityDomain": "<availability_domain>",
"subnetId": "<subnet_OCID>",
"hostGroupId": "<host_group_OCID>"
}
]
}'
Die Compute-Hostgruppe muss sich in derselben Availability-Domain wie die Platzierungskonfiguration befinden, und die Ausprägung des Knotenpools muss mit der Ausprägung der Compute-Hostgruppe übereinstimmen.
Compute-Hostgruppe für einen verwalteten Knotenpool aktualisieren
Um mit der CLI einen verwalteten Knotenpool zu aktualisieren, der eine Compute-Hostgruppe zum Provisioning verwalteter Knoten verwendet, nehmen Sie das Schlüssel/Wert-Paar hostGroupId im Array placementConfigs im Parameter --node-config-details im folgenden Format auf:
oci ce node-pool update \
--node-pool-id <node_pool_OCID> \
--node-config-details '{
"placementConfigs": [
{
"availabilityDomain": "<availability_domain>",
"subnetId": "<subnet_OCID>",
"hostGroupId": "<host_group_OCID>"
}
]
}'
Das Aktualisieren von hostGroupId wirkt sich auf neue Worker-Knoteninstanzen aus. Vorhandene Worker-Knoteninstanzen werden nicht automatisch verschoben. Um die aktualisierte Compute-Hostgruppe für vorhandene Knoten zu verwenden, beenden und ersetzen Sie die vorhandenen Worker-Knoteninstanzen, sodass der Compute-Service die Ersatzinstanzen auf Hosts in der aktualisierten Compute-Hostgruppe platziert. Weitere Informationen finden Sie unter Worker-Knoten beenden und ersetzen.
API verwenden
Wenn Sie einen verwalteten Knotenpool erstellen oder aktualisieren, geben Sie hostGroupId in jeder Platzierungskonfiguration an, die eine Compute-Hostgruppe verwendet.
Geben Sie zum Erstellen von Knotenpoolanforderungen Folgendes an:
CreateNodePoolDetails.createNodePoolNodeConfigDetails.placementConfigs[].hostGroupId
Geben Sie für Aktualisierungsknotenpoolanforderungen Folgendes an:
UpdateNodePoolDetails.updateNodePoolNodeConfigDetails.placementConfigs[].hostGroupId
Fehlerbehebung
Mit den folgenden Informationen können Sie Probleme mit Compute-Hostgruppen in verwalteten Knotenpools beheben.
Die Compute-Hostgruppe ist in der Liste nicht verfügbar
Prüfen Sie Folgendes:
- Sie haben das richtige Compartment ausgewählt.
- Die Compute-Hostgruppe befindet sich in derselben Availability-Domain wie die Platzierungskonfiguration.
- Die Compute-Hostgruppe ist aktiv.
- Sie sind berechtigt, die Compute-Hostgruppe anzuzeigen oder zu verwenden.
Erstellen oder Aktualisieren von Knotenpool nicht erfolgreich
Prüfen Sie Folgendes:
- Die Ausprägung des Knotenpools entspricht der Ausprägung der Compute-Hostgruppe.
- Die erforderliche IAM-Policy ist vorhanden.
- Die ausgewählte Compute-Hostgruppe wurde nicht gelöscht oder ist inaktiv.
- Die ausgewählte Compute-Hostgruppe befindet sich in derselben Availability-Domain wie die Platzierungskonfiguration.
Vorhandene Knoten wurden nicht in die aktualisierte Compute-Hostgruppe verschoben
Das Ändern der Compute-Hostgruppe wirkt sich auf neue Worker-Knoteninstanzen aus. Vorhandene Worker-Knoteninstanzen werden nicht automatisch verschoben.
Um die aktualisierte Compute-Hostgruppe für vorhandene Knoten zu verwenden, beenden und ersetzen Sie die vorhandenen Worker-Knoteninstanzen, sodass der Compute-Service die Ersatzinstanzen auf Hosts in der aktualisierten Compute-Hostgruppe platziert. Weitere Informationen finden Sie unter Worker-Knoten beenden und ersetzen.