Utilisation de réservations de capacité pour provisionner des noeuds gérés

Découvrez comment réserver de la capacité de calcul pour les clusters créés à l'aide de Kubernetes Engine (OKE).

Le service Compute vous permet de créer des réservations de capacité afin de vous assurer que la capacité de calcul est disponible pour les charges globales en cas de besoin lors d'événements critiques, tels que la récupération après sinistre ou des pics de charge globale inattendus. Pour plus d'informations sur la façon dont le service Compute alloue la capacité, la quantité de capacité réservée et la façon dont les limites et les quotas sont appliqués, reportez-vous à Réservations de capacité.

Après avoir créé une réservation de capacité dans le service Compute, vous pouvez indiquer cette réservation de capacité lorsque vous utilisez Kubernetes Engine pour définir la configuration de placement d'un pool de noeuds géré. La spécification de la réservation de capacité garantit que les noeuds gérés du pool de noeuds sont créés à l'aide d'instances de calcul à partir de la capacité réservée.

Tenez compte des éléments suivants :

  • Pour pouvoir spécifier une réservation de capacité dans la configuration de placement d'un pool de noeuds, la réservation de capacité doit déjà exister. Pour connaître les étapes de création d'une réservation de capacité, reportez-vous à Gestion des réservations de capacité.
  • Assurez-vous que la forme de noeud, le domaine de disponibilité et le domaine de pannes de la configuration de placement du pool de noeuds correspondent respectivement au type d'instance, au domaine de disponibilité et au domaine de pannes de la réservation de capacité.
  • Si vous spécifiez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez spécifier une réservation de capacité différente pour chaque domaine de disponibilité.
  • Les modifications apportées aux propriétés des noeuds de processus actifs ne s'appliquent qu'aux nouveaux noeuds. La mise à jour de la réservation de capacité associée à un pool de noeuds n'a aucune incidence sur les propriétés des noeuds de processus actif existants.

Stratégies IAM requises pour l'utilisation des réservations de capacité

Pour utiliser une réservation de capacité lors de la définition de la configuration de positionnement d'un pool de noeuds, vous devez appartenir à un groupe auquel l'autorisation d'utilisation des réservations de capacité a été accordée. Pour accorder ce droit d'accès, créez la stratégie suivante :

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

Si un groupe ne se trouve pas dans le domaine d'identité par défaut, ajoutez un préfixe au nom de domaine d'identité au format group '<identity-domain-name>'/'group-name'. Vous pouvez également indiquer un groupe à l'aide de son OCID, au format group id <group-ocid>.

Pour provisionner des noeuds gérés à partir d'une réservation de capacité, vous devez autoriser Kubernetes Engine à lancer des instances à l'aide de réservations de capacité. Pour accorder ce droit d'accès, créez une stratégie avec les instructions de stratégie suivantes :

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'

Pour plus d'informations, reportez-vous à Stratégie IAM requise.

Réservations de capacité par défaut

Kubernetes Engine prend en charge l'utilisation des réservations de capacité par défaut lors du lancement des noeuds gérés. Avec les réservations de capacité par défaut, vous pouvez vous assurer que la même réservation de capacité est utilisée chaque fois qu'une instance est lancée dans le domaine de disponibilité et la location associés à la réservation. Après avoir créé une réservation de capacité par défaut, toutes les instances (y compris les noeuds gérés) lancées dans ce domaine de disponibilité et cette location utilisent autant que possible la capacité de la réservation de capacité par défaut. Pour plus d'informations, reportez-vous à Réservations de capacité par défaut.

Il peut arriver que vous ne souhaitiez pas provisionner les noeuds de processus actif à partir d'une réservation de capacité par défaut. Vous pouvez sélectionner une autre réservation de capacité ou choisir de ne pas utiliser de réservation de capacité du tout.

Utilisation de la console

Créer un cluster et indiquer des réservations de capacité

  1. Suivez les instructions pour créer un cluster à l'aide du workflow Création personnalisée. Reportez-vous à Utilisation de la console pour créer un cluster avec des paramètres définis explicitement dans le workflow Création personnalisée.
  2. Lorsque vous indiquez la configuration de placement pour un pool de noeuds gérés dans le cluster :
    1. Indiquez le premier domaine de disponibilité et le premier sous-réseau :
      • Domaine de disponibilité : sélectionnez le domaine de disponibilité associé à la réservation de capacité que vous souhaitez utiliser.
      • Domaine de pannes : (facultatif) domaines de pannes du domaine de disponibilité dans lesquels placer les noeuds de processus actif.
      • Sous-réseau : sélectionnez le sous-réseau associé à la réservation de capacité que vous souhaitez utiliser.
    2. Sélectionnez Afficher les options avancées et indiquez la réservation de capacité à utiliser :

      • Type de capacité : sélectionnez Réservation de capacité.
      • Réservation de capacité : sélectionnez la réservation de capacité à utiliser dans la liste. Si vous ne sélectionnez pas explicitement une réservation de capacité et qu'une réservation de capacité par défaut a été créée pour le domaine de disponibilité, la réservation de capacité par défaut est utilisée. Si vous ne souhaitez pas utiliser la réservation de capacité par défaut ou toute autre réservation de capacité, sélectionnez Refuser la réservation par défaut.

    3. Vous pouvez éventuellement sélectionner Autre ligne pour ajouter des domaines de disponibilité, des sous-réseaux et des réservations de capacité supplémentaires à la configuration de placement. Si vous indiquez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez indiquer une réservation de capacité différente pour chaque domaine de disponibilité.

Créer un pool de noeuds gérés et indiquer des réservations de capacité

  1. Dans la page de liste Clusters, sélectionnez le nom du cluster dans lequel vous souhaitez créer un pool de noeuds. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.
  2. Sous Ressources, sélectionnez Pools de noeuds, puis Ajouter un pool de noeuds pour créer un pool de noeuds gérés et indiquer les propriétés requises pour ses noeuds de processus actif.
  3. Lorsque vous indiquez la configuration de placement pour un pool de noeuds gérés dans le cluster :
    1. Indiquez le premier domaine de disponibilité et le premier sous-réseau :
      • Domaine de disponibilité : sélectionnez le domaine de disponibilité associé à la réservation de capacité que vous souhaitez utiliser.
      • Domaine de pannes : (facultatif) domaines de pannes du domaine de disponibilité dans lesquels placer les noeuds de processus actif.
      • Sous-réseau : sélectionnez le sous-réseau associé à la réservation de capacité que vous souhaitez utiliser.
    2. Sélectionnez Afficher les options avancées et indiquez la réservation de capacité à utiliser :

      • Type de capacité : sélectionnez Réservation de capacité.
      • Réservation de capacité : sélectionnez la réservation de capacité à utiliser dans la liste. Si vous ne sélectionnez pas explicitement une réservation de capacité et qu'une réservation de capacité par défaut a été créée pour le domaine de disponibilité, la réservation de capacité par défaut est utilisée. Si vous ne souhaitez pas utiliser la réservation de capacité par défaut ou toute autre réservation de capacité, sélectionnez Refuser la réservation par défaut.

    3. Vous pouvez éventuellement sélectionner Autre ligne pour ajouter des domaines de disponibilité, des sous-réseaux et des réservations de capacité supplémentaires à la configuration de placement. Si vous indiquez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez indiquer une réservation de capacité différente pour chaque domaine de disponibilité.

Mettre à jour un pool de noeuds gérés et indiquer des réservations de capacité

  1. Sur la page de liste Clusters, sélectionnez le nom du cluster à modifier. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.
  2. Sous Ressources, sélectionnez Pools de noeuds, puis le nom du pool de noeuds gérés à modifier.
  3. Sur la page Détails du pool de noeuds, sélectionnez Modifier.
  4. Lorsque vous indiquez la configuration de placement pour un pool de noeuds gérés dans le cluster :
    1. Indiquez le premier domaine de disponibilité et le premier sous-réseau :
      • Domaine de disponibilité : sélectionnez le domaine de disponibilité associé à la réservation de capacité que vous souhaitez utiliser.
      • Domaine de pannes : (facultatif) domaines de pannes du domaine de disponibilité dans lesquels placer les noeuds de processus actif.
      • Sous-réseau : sélectionnez le sous-réseau associé à la réservation de capacité que vous souhaitez utiliser.
    2. Sélectionnez Afficher les options avancées et indiquez la réservation de capacité à utiliser :

      • Type de capacité : sélectionnez Réservation de capacité.
      • Réservation de capacité : sélectionnez la réservation de capacité à utiliser dans la liste. Si vous ne sélectionnez pas explicitement une réservation de capacité et qu'une réservation de capacité par défaut a été créée pour le domaine de disponibilité, la réservation de capacité par défaut est utilisée. Si vous ne souhaitez pas utiliser la réservation de capacité par défaut ou toute autre réservation de capacité, sélectionnez Refuser la réservation par défaut.

    3. Vous pouvez éventuellement sélectionner Autre ligne pour ajouter des domaines de disponibilité, des sous-réseaux et des réservations de capacité supplémentaires à la configuration de placement. Si vous indiquez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez indiquer une réservation de capacité différente pour chaque domaine de disponibilité.
  5. Enregistrer les modifications.

Utilisation de l'interface de ligne de commande

Pour obtenir des informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et des options disponibles pour les commandes de l'interface de ligne de commande, reportez-vous à Référence de ligne de commande.

Créer un pool de noeuds gérés et indiquer des réservations de capacité

Pour utiliser l'interface de ligne de commande afin de créer un pool de noeuds gérés qui utilise une réservation de capacité pour provisionner des noeuds gérés, incluez la paire clé/valeur capacityReservationId dans le paramètre --placement-configs.

Par exemple :

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 \

Si une réservation de capacité par défaut a été créée pour le domaine de disponibilité dans lequel vous créez le pool de noeuds, cette réservation de capacité est utilisée par défaut. Si vous ne voulez pas utiliser la réservation de capacité par défaut ou toute autre réservation de capacité, définissez la valeur de la clé capacityReservationId sur une chaîne vide placée entre guillemets doubles, à savoir \"capacityReservationId\":\"".

Si vous spécifiez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez spécifier une réservation de capacité différente pour chaque domaine de disponibilité.

Utilisation de l'API

Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à la documentation relative à l'API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

Utilisez l'attribut placementConfigs de l'objet nodeConfigDetails pour indiquer des réservations de capacité lors de la création ou de la mise à jour de pools de noeuds gérés.

Si une réservation de capacité par défaut a été créée pour le domaine de disponibilité dans lequel vous créez le pool de noeuds gérés, cette réservation de capacité est utilisée par défaut. Si vous ne voulez pas utiliser la réservation de capacité par défaut ou toute autre réservation de capacité, définissez la valeur du champ capacityReservationId sur une chaîne vide placée entre guillemets doubles, à savoir "capacityReservationId":"".

Si vous spécifiez plusieurs domaines de disponibilité dans la configuration de placement d'un pool de noeuds, vous pouvez spécifier une réservation de capacité différente pour chaque domaine de disponibilité.