Verwaltete Knoten mit Compute-Clustern bereitstellen
Erfahren Sie, wie Sie mit Kubernetes Engine (OKE) verwaltete Knotenpools in Compute-Clustern erstellen, um Workloads zu unterstützen, die RDMA-fähige Bare-Metal-Ausprägungen verwenden.
Ein Compute-Cluster ist eine Compute-Serviceressource, die Netzwerke mit hoher Bandbreite und geringer Latenz zwischen unterstützten Bare-Metal-Instanzen bereitstellt. In Kubernetes Engine können Sie ein Compute Cluster angeben, wenn Sie einen verwalteten Knotenpool erstellen. Wenn Kubernetes Engine Worker-Knoteninstanzen für den Knotenpool erstellt, startet der Compute-Service die Instanzen im ausgewählten Compute-Cluster.
Verwenden Sie Compute-Cluster für verwaltete Knotenpools, die Workloads ausführen, die RDMA-fähiges Networking erfordern, wie verteilte Trainings-Workloads. Wenn Sie ein Compute Cluster für einen verwalteten Knotenpool angeben, können Sie RDMA-fähiges Networking verwenden und gleichzeitig verwaltete Knotenpoolvorgänge von Kubernetes Engine beibehalten, wie Skalierung, Upgrades und Knotenersatz.
Kubernetes Engine erstellt keine Compute-Cluster. Erstellen und konfigurieren Sie das Compute-Cluster im Compute-Service, bevor Sie es in Kubernetes Engine auswählen. Weitere Informationen zu Compute-Clustern finden Sie unter Compute-Cluster in der Compute-Servicedokumentation.
Wenn Sie ein Compute Cluster für einen verwalteten Knotenpool angeben, aktiviert Kubernetes Engine automatisch die Oracle Cloud Agent HPC-Plug-ins, die für RDMA-Netzwerke erforderlich sind, einschließlich des Compute HPC RDMA Authentication Plug-ins und des Compute HPC RDMA Auto-Configuration Plug-ins. Beachten Sie, dass Sie diese Oracle Cloud Agent-Plug-in-Konfiguration nicht mit den Knotenpool-APIs der Kubernetes-Engine anpassen können.
Sie können ein Compute Cluster nur angeben, wenn Sie einen verwalteten Knotenpool erstellen. Sie können das Compute Cluster für einen vorhandenen Knotenpool nicht hinzufügen, entfernen oder ändern. Um ein anderes Compute Cluster zu verwenden, erstellen Sie einen neuen verwalteten Knotenpool.
Beachten Sie Folgendes, bevor Sie einen verwalteten Knotenpool in einem Compute-Cluster erstellen:
- Das Kubernetes-Engine-Cluster muss ein erweitertes Cluster sein.
- Compute-Cluster im Compute-Service erstellen.
- Stellen Sie sicher, dass der Lebenszyklusstatus des Compute-Clusters
ACTIVElautet. - Verwenden Sie eine Knotenpoolausprägung, die RDMA- und Compute-Cluster unterstützt (siehe Unterstützte Ausprägungen in der Compute-Servicedokumentation).
- Die Konfiguration der Knotenpoolplatzierung darf nur die Availability-Domain enthalten, die das Compute-Cluster enthält.
- Geben Sie keine Faultdomains in der Platzierungskonfiguration an. Wenn ein Compute-Cluster angegeben wird, wird die Faultdomainplatzierung vom Compute-Service verwaltet.
- Fügen Sie die erforderliche IAM-Policy hinzu, damit Kubernetes Engine das Compute-Cluster beim Starten von Worker-Knoteninstanzen verwenden kann.
Erforderliche IAM-Policy
Damit ein Knotenpool ein Compute-Cluster verwenden kann, muss eine Policy vorhanden sein, mit der der Resource Principal des Knotenpools das Compute-Cluster verwenden kann. Beispiel:
allow any-user to {COMPUTE_CLUSTER_LAUNCH_INSTANCE} in compartment <compartment_name> where request.principal.type = 'nodepool' and target.resource.id = '<compute_cluster_OCID>'
Hierbei gilt:
<compartment_name>ist der Name des Compartments, das das Compute-Cluster enthält.<compute_cluster_OCID>ist die OCID des Compute-Clusters.
Konsole verwenden
Sie können ein Compute Cluster angeben, wenn Sie ein Cluster mit einem verwalteten Knotenpool erstellen oder wenn Sie einen verwalteten Knotenpool in einem vorhandenen erweiterten Cluster erstellen.
Beim Aktualisieren eines vorhandenen verwalteten Knotenpools können Sie kein Compute Cluster angeben.
Cluster erstellen und Compute-Cluster für einen verwalteten Knotenpool angeben
- Befolgen Sie die Anweisungen zum Erstellen eines Clusters mit dem Workflow Benutzerdefiniertes Erstellen. Siehe Cluster mit explizit definierten Einstellungen im Workflow "Benutzerdefinierte Erstellung" mit der Konsole erstellen.
- Bei der Angabe von Knotenpooldetails:
- Wählen Sie unter Knotentyp die Option Verwaltet aus.
- Geben Sie die Knotenplatzierungskonfiguration wie folgt an:
- Availability-Domain: Wählen Sie die Availability-Domain aus, die das Compute-Cluster enthält.
- Subnetz-Compartment des Worker-Knotens: Wählen Sie das Compartment aus, das das Worker-Knotensubnetz enthält.
- Worker-Knoten-Subnetz: Wählen Sie ein Subnetz in der Availability-Domain des Compute-Clusters aus.
- Faultdomains: Geben Sie keine Faultdomains an. Die Platzierung der Faultdomain wird vom Compute-Service verwaltet.
- Wählen Sie unter Knotenausprägung eine Knotenausprägung aus, die RDMA- und Compute-Cluster unterstützt.
- Wählen Sie Erweiterte Optionen aus, und geben Sie das Compute-Cluster an, das im Abschnitt Compute-Cluster hinzufügen verwendet werden soll:
- Compute-Cluster-Compartment: Wählen Sie das Compartment mit dem Compute-Cluster aus.
- Compute-Cluster: Wählen Sie das Compute-Cluster.
- Erstellen Sie das Cluster.
Kubernetes Engine erstellt den Cluster- und verwalteten Knotenpool. Wenn Kubernetes Engine Worker-Knoteninstanzen für den verwalteten Knotenpool erstellt, startet der Compute-Service die Instanzen im ausgewählten Compute-Cluster.
Managed-Node-Pool erstellen und Compute-Cluster angeben
- Wählen Sie auf der Listenseite Cluster den Namen des erweiterten 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 von Knotenpooldetails:
- Wählen Sie unter Knotentyp die Option Verwaltet aus.
- Wählen Sie Erweiterte Optionen aus, und geben Sie das Compute-Cluster an, das im Abschnitt Compute-Cluster hinzufügen verwendet werden soll:
- Compute-Cluster-Compartment: Wählen Sie das Compartment mit dem Compute-Cluster aus.
- Compute-Cluster: Wählen Sie das Compute-Cluster.
- Geben Sie die Knotenplatzierungskonfiguration wie folgt an:
- Availability-Domain: Wählen Sie die Availability-Domain aus, die das Compute-Cluster enthält.
- Subnetz-Compartment des Worker-Knotens: Wählen Sie das Compartment aus, das das Worker-Knotensubnetz enthält.
- Worker-Knoten-Subnetz: Wählen Sie ein Subnetz in der Availability-Domain des Compute-Clusters aus.
- Faultdomains: Geben Sie keine Faultdomains an. Die Platzierung der Faultdomain wird vom Compute-Service verwaltet.
- Wählen Sie unter Knotenausprägung eine Knotenausprägung aus, die RDMA- und Compute-Cluster unterstützt.
- Erstellen Sie den Knotenpool.
Kubernetes Engine erstellt den verwalteten Knotenpool. Wenn Kubernetes Engine Worker-Knoteninstanzen für den verwalteten Knotenpool erstellt, startet der Compute-Service die Instanzen im ausgewählten Compute-Cluster.
CLI verwenden
Um mit der CLI einen verwalteten Knotenpool in einem Compute-Cluster zu erstellen, nehmen Sie das Schlüssel/Wert-Paar computeClusterId in den 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": 2,
"placementConfigs": [
{
"availabilityDomain": "<availability_domain>",
"subnetId": "<subnet_OCID>"
}
],
"computeClusterId": "<compute_cluster_OCID>"
}'
Die Platzierungskonfiguration darf nur die Availability-Domain enthalten, die das Compute-Cluster enthält. Geben Sie keine Faultdomains an.
API verwenden
Geben Sie beim Erstellen eines verwalteten Knotenpools computeClusterId in den Knotenpoolkonfigurationsdetails an.
Geben Sie zum Erstellen von Knotenpoolanforderungen Folgendes an:
CreateNodePoolDetails.createNodePoolNodeConfigDetails.computeClusterId
Die Eigenschaft computeClusterId ist unveränderbar. Sie können computeClusterId nicht in UpdateNodePoolDetails angeben.
Fehlerbehebung
Mit den folgenden Informationen können Sie Probleme mit Compute-Clustern in verwalteten Knotenpools beheben.
Das Compute-Cluster ist in der Liste nicht verfügbar
Prüfen Sie Folgendes:
- Sie haben das richtige Compartment ausgewählt.
- Das Compute-Cluster ist aktiv.
- Sie sind berechtigt, das Compute-Cluster anzuzeigen oder zu verwenden.
- Das Kubernetes-Engine-Cluster ist ein erweitertes Cluster.
Knotenpool konnte nicht erstellt werden
Prüfen Sie Folgendes:
- Das Kubernetes-Engine-Cluster ist ein erweitertes Cluster.
- Die Knotenpoolausprägung unterstützt RDMA- und Compute-Cluster.
- Die Platzierungskonfiguration enthält nur die Availability-Domain, die das Compute-Cluster enthält.
- Faultdomains sind in der Platzierungskonfiguration nicht angegeben.
- Die erforderliche IAM-Policy ist vorhanden.
- Das ausgewählte Compute-Cluster wurde nicht gelöscht oder ist inaktiv.
Ich kann das Compute-Cluster für einen vorhandenen Knotenpool nicht hinzufügen oder ändern
Sie können ein Compute Cluster nur beim Erstellen eines verwalteten Knotenpools angeben. Sie können das Compute Cluster für einen vorhandenen Knotenpool nicht hinzufügen, entfernen oder ändern.
Um ein anderes Compute Cluster zu verwenden, erstellen Sie einen neuen verwalteten Knotenpool, der das erforderliche Compute Cluster angibt.