Kapazitätsreservierungen für das Provisioning von verwalteten Knoten verwenden

Erfahren Sie, wie Sie Compute-Kapazität für Cluster reservieren, die Sie mit der Kubernetes-Engine (OKE) erstellt haben.

Mit dem Compute-Service können Sie Kapazitätsreservierungen erstellen, um sicherzustellen, dass Compute-Kapazität für Workloads verfügbar ist, wenn dies bei kritischen Ereignissen wie Disaster Recovery oder unerwarteten Workload-Spitzen erforderlich ist. Weitere Informationen dazu, wie der Compute-Service Kapazität zuweist, wie viel Kapazität reserviert ist und wie Limits und Quoten angewendet werden, finden Sie unter Kapazitätsreservierungen.

Nachdem Sie eine Kapazitätsreservierung im Compute-Service erstellt haben, können Sie diese Kapazitätsreservierung angeben, wenn Sie mit der Kubernetes-Engine die Platzierungskonfiguration eines verwalteten Knotenpools definieren. Durch Angabe der Kapazitätsreservierung wird sichergestellt, dass die verwalteten Knoten des Knotenpools mit Compute-Instanzen aus der reservierten Kapazität erstellt werden.

Beachten Sie Folgendes:

  • Bevor Sie eine Kapazitätsreservierung in der Platzierungskonfiguration eines Knotenpools angeben können, muss die Kapazitätsreservierung bereits vorhanden sein. Die Schritte zum Erstellen einer Kapazitätsreservierung finden Sie unter Verwalten von Kapazitätsreservierungen.
  • Stellen Sie sicher, dass die Knotenausprägung, Availability-Domain und Faultdomain in der Platzierungskonfiguration des Knotenpools mit dem Instanztyp, der Availability-Domain und der Faultdomain der Kapazitätsreservierung übereinstimmen.
  • Wenn Sie in der Platzierungskonfiguration eines Knotenpools mehrere Availability-Domains angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.
  • Änderungen, die Sie an Worker-Knoteneigenschaften vornehmen, gelten nur für neue Worker-Knoten. Die Aktualisierung der Kapazitätsreservierung, die einem Knotenpool zugeordnet ist, wirkt sich nicht auf die Eigenschaften vorhandener Worker-Knoten aus.

Erforderliche IAM-Policys für die Verwendung von Kapazitätsreservierungen

Um eine Kapazitätsreservierung beim Definieren der Platzierungskonfiguration eines Knotenpools zu verwenden, müssen Sie zu einer Gruppe gehören, der die Berechtigung zur Verwendung von Kapazitätsreservierungen erteilt wurde. Um diese Berechtigung zu erteilen, erstellen Sie die folgende Policy:

Allow group <group-name> to use compute-capacity-reservations in <location>

Wenn eine Gruppe nicht in der Standardidentitätsdomain enthalten ist, stellen Sie dem Gruppennamen den Namen der Identitätsdomain im Format group '<identity-domain-name>'/'group-name' voran. Sie können eine Gruppe auch mit ihrer OCID im Format group id <group-ocid> angeben.

Um verwaltete Knoten aus einer Kapazitätsreservierung bereitzustellen, müssen Sie der Kubernetes-Engine die Berechtigung erteilen, Instanzen mit Kapazitätsreservierungen zu starten. Um diese Berechtigung zu erteilen, erstellen Sie eine Policy mit den folgenden Policy-Anweisungen:

Allow service oke to use compute-capacity-reservations in tenancy
Allow any-user to use compute-capacity-reservations in tenancy where request.principal.type = 'nodepool'

Weitere Informationen finden Sie unter Erforderliche IAM-Policy.

Standardkapazität - Reservierungen

Kubernetes Engine unterstützt die Verwendung von Standardkapazitätsreservierungen beim Starten verwalteter Knoten. Mit Standardkapazitätsreservierungen können Sie sicherstellen, dass dieselbe Kapazitätsreservierung jedes Mal verwendet wird, wenn eine Instanz in der Availability-Domain und dem Mandanten gestartet wird, der mit der Reservierung verknüpft ist. Nachdem eine Standardkapazitätsreservierung erstellt wurde, verwenden alle Instanzen (einschließlich verwalteter Knoten), die in dieser Availability-Domain und diesem Mandanten gestartet werden, Kapazität nach Möglichkeit aus der Standardkapazitätsreservierung. Weitere Informationen finden Sie unter Standardkapazitätsreservierungen.

Möglicherweise möchten Sie Worker-Knoten nicht aus einer Standardkapazitätsreservierung bereitstellen. Sie können eine alternative Kapazitätsreservierung auswählen oder eine Kapazitätsreservierung überhaupt nicht verwenden.

Konsole verwenden

Cluster erstellen und Kapazitätsreservierungen angeben

  1. Befolgen Sie die Anweisungen zum Erstellen eines Clusters mit dem Workflow "Benutzerdefinierte Erstellung". Siehe Cluster mit explizit definierten Einstellungen im Workflow "Benutzerdefinierte Erstellung" mit der Konsole erstellen.
  2. Bei der Angabe der Platzierungskonfiguration für einen verwalteten Knotenpool im Cluster:
    1. Geben Sie die erste Availability-Domain und das erste Subnetz an:
      • Availability-Domain: Wählen Sie die Availability-Domain aus, die mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
      • Faultdomain: (Optional) Eine oder mehrere Faultdomains in der Availability-Domain, in der Worker-Knoten platziert werden sollen.
      • Subnetz: Wählen Sie das Subnetz aus, das mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
    2. Wählen Sie Erweiterte Optionen anzeigen aus, und geben Sie die zu verwendende Kapazitätsreservierung an:

      • Kapazitätstyp: Wählen Sie Kapazitätsreservierung.
      • Kapazitätsreservierung: Wählen Sie die zu verwendende Kapazitätsreservierung aus der Liste aus. Wenn Sie keine Kapazitätsreservierung explizit auswählen und eine Standardkapazitätsreservierung für die Availability-Domain erstellt wurde, wird die Standardkapazitätsreservierung verwendet. Wenn Sie die Standardkapazitätsreservierung oder eine andere Kapazitätsreservierung nicht verwenden möchten, wählen Sie Standardreservierung deaktivieren aus.

    3. Wählen Sie optional Weitere Zeile aus, um der Platzierungskonfiguration zusätzliche Availability-Domains, Subnetze und Kapazitätsreservierungen hinzuzufügen. Wenn Sie mehrere Availability-Domains in der Platzierungskonfiguration eines Knotenpools angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.

Verwalteten Knotenpool erstellen und Kapazitätsreservierungen angeben

  1. Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Kubernetes-Cluster (OKE) aus.
  2. Wählen Sie ein Compartment aus, für das Sie eine Berechtigung besitzen.
  3. Wählen Sie auf der Seite Clusterliste den Namen des Clusters aus, in dem Sie einen neuen Knotenpool erstellen möchten.
  4. Zeigt auf der Seite Cluster die Registerkarte Knotenpools an, und wählen Sie dann Knotenpool hinzu, um einen neuen verwalteten Knotenpool zu erstellen und die erforderlichen Eigenschaften für seine Worker-Knoten anzugeben.
  5. Bei der Angabe der Platzierungskonfiguration für einen verwalteten Knotenpool im Cluster:
    1. Geben Sie die erste Availability-Domain und das erste Subnetz an:
      • Availability-Domain: Wählen Sie die Availability-Domain aus, die mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
      • Faultdomain: (Optional) Eine oder mehrere Faultdomains in der Availability-Domain, in der Worker-Knoten platziert werden sollen.
      • Subnetz: Wählen Sie das Subnetz aus, das mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
    2. Wählen Sie Erweiterte Optionen anzeigen aus, und geben Sie die zu verwendende Kapazitätsreservierung an:

      • Kapazitätstyp: Wählen Sie Kapazitätsreservierung.
      • Kapazitätsreservierung: Wählen Sie die zu verwendende Kapazitätsreservierung aus der Liste aus. Wenn Sie keine Kapazitätsreservierung explizit auswählen und eine Standardkapazitätsreservierung für die Availability-Domain erstellt wurde, wird die Standardkapazitätsreservierung verwendet. Wenn Sie die Standardkapazitätsreservierung oder eine andere Kapazitätsreservierung nicht verwenden möchten, wählen Sie Standardreservierung deaktivieren aus.

    3. Wählen Sie optional Weitere Zeile aus, um der Platzierungskonfiguration zusätzliche Availability-Domains, Subnetze und Kapazitätsreservierungen hinzuzufügen. Wenn Sie mehrere Availability-Domains in der Platzierungskonfiguration eines Knotenpools angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.

Verwalteten Knotenpool aktualisieren und Kapazitätsreservierungen angeben

  1. Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Kubernetes-Cluster (OKE) aus.
  2. Wählen Sie ein Compartment aus, für das Sie eine Berechtigung besitzen.
  3. Wählen Sie auf der Seite Clusterliste den Namen des Clusters, das Sie ändern möchten.
  4. Wählen Sie unter Ressourcen die Option Knotenpools aus, und wählen Sie den Namen des verwalteten Knotenpools aus, den Sie ändern möchten.
  5. Wählen Sie auf der Seite Knotenpooldetails die Option Bearbeiten aus.
  6. Bei der Angabe der Platzierungskonfiguration für einen verwalteten Knotenpool im Cluster:
    1. Geben Sie die erste Availability-Domain und das erste Subnetz an:
      • Availability-Domain: Wählen Sie die Availability-Domain aus, die mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
      • Faultdomain: (Optional) Eine oder mehrere Faultdomains in der Availability-Domain, in der Worker-Knoten platziert werden sollen.
      • Subnetz: Wählen Sie das Subnetz aus, das mit der Kapazitätsreservierung verknüpft ist, die Sie verwenden möchten.
    2. Wählen Sie Erweiterte Optionen anzeigen aus, und geben Sie die zu verwendende Kapazitätsreservierung an:

      • Kapazitätstyp: Wählen Sie Kapazitätsreservierung.
      • Kapazitätsreservierung: Wählen Sie die zu verwendende Kapazitätsreservierung aus der Liste aus. Wenn Sie keine Kapazitätsreservierung explizit auswählen und eine Standardkapazitätsreservierung für die Availability-Domain erstellt wurde, wird die Standardkapazitätsreservierung verwendet. Wenn Sie die Standardkapazitätsreservierung oder eine andere Kapazitätsreservierung nicht verwenden möchten, wählen Sie Standardreservierung deaktivieren aus.

    3. Wählen Sie optional Weitere Zeile aus, um der Platzierungskonfiguration zusätzliche Availability-Domains, Subnetze und Kapazitätsreservierungen hinzuzufügen. Wenn Sie mehrere Availability-Domains in der Platzierungskonfiguration eines Knotenpools angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.
  7. Speichern Sie die Änderungen.

CLI verwenden

Informationen zur Verwendung der CLI finden Sie unter Befehlszeilenschnittstelle (CLI). Eine vollständige Liste der Flags und Optionen, die für CLI-Befehle verfügbar sind, finden Sie in der Befehlszeilenreferenz.

Verwalteten Knotenpool erstellen und Kapazitätsreservierungen angeben

Um mit der CLI einen verwalteten Knotenpool zu erstellen, der verwaltete Knoten mit einer Kapazitätsreservierung bereitstellt, nehmen Sie das Schlüssel/Wert-Paar capacityReservationId in den Parameter --placement-configs auf.

Beispiel:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--name test-node \
--node-image-id ocid1.image.oc1.iad.aaaaaaaa6______nha \
--compartment-id oocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.21.5 \
--node-shape VM.Standard2.1 \
--placement-configs "[{\"availability-domain\":\"IqDk:US-ASHBURN-AD-2\", \"capacityReservationId\":\"ocid1.capacityreservation.oc1.iad.anuwcljt2ah______yeq\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaa2xpk______zva\", \"faultDomains\":[\"FAULT-DOMAIN-3\", \"FAULT-DOMAIN-1\"]}, {\"availability-domain\":\"IqDk:US-ASHBURN-AD-1\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaauhls______bpq\", \"faultDomains\": [\"FAULT-DOMAIN-1\", \"FAULT-DOMAIN-2\"]}]" \
--size 1 \
--region=us-ashburn-1 \

Wenn eine Standardkapazitätsreservierung für die Availability-Domain erstellt wurde, in der Sie den Knotenpool erstellen, wird diese Kapazitätsreservierung standardmäßig verwendet. Wenn Sie die Standardkapazitätsreservierung oder eine andere Kapazitätsreservierung nicht verwenden möchten, setzen Sie den Wert des Schlüssels capacityReservationId auf eine leere Zeichenfolge, die in doppelte Anführungszeichen eingeschlossen ist, nämlich \"capacityReservationId\":\"".

Wenn Sie in der Platzierungskonfiguration eines Knotenpools mehrere Availability-Domains angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.

API verwenden

Informationen zur Verwendung der API und zu Signieranforderungen finden Sie unter REST-API-Dokumentation und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter SDKs und die CLI.

Verwenden Sie das Attribut placementConfigs des Objekts nodeConfigDetails, um Kapazitätsreservierungen beim Erstellen oder Aktualisieren von verwalteten Knotenpools anzugeben.

Wenn eine Standardkapazitätsreservierung für die Availability-Domain erstellt wurde, in der Sie den verwalteten Knotenpool erstellen, wird diese Kapazitätsreservierung standardmäßig verwendet. Wenn Sie die Standardkapazitätsreservierung oder eine andere Kapazitätsreservierung nicht verwenden möchten, setzen Sie den Wert des Feldes capacityReservationId auf eine leere Zeichenfolge, die in doppelte Anführungszeichen eingeschlossen ist, nämlich "capacityReservationId":"".

Wenn Sie in der Platzierungskonfiguration eines Knotenpools mehrere Availability-Domains angeben, können Sie für jede Availability-Domain eine andere Kapazitätsreservierung angeben.