Utilisation de groupes d'hôtes de calcul pour provisionner des noeuds gérés
Découvrez comment utiliser des groupes d'hôtes de calcul pour contrôler où Kubernetes Engine crée des instances de noeud de processus actif gérées, notamment à l'aide de groupes d'hôtes de calcul configurés pour un recyclage rapide.
Un groupe d'hôtes de calcul est une ressource de service Compute qui regroupe les hôtes d'un compartiment et d'un domaine de disponibilité. Dans Kubernetes Engine, vous pouvez sélectionner un groupe d'hôtes de calcul comme type de capacité pour une configuration de placement de pool de noeuds gérés. Lorsque Kubernetes Engine crée des instances de noeud de processus actif pour cette configuration de placement, le service Compute place les instances sur les hôtes du groupe d'hôtes de calcul sélectionné.
Utilisez des groupes d'hôtes de calcul pour contrôler l'emplacement où Kubernetes Engine crée des instances de noeud de processus actif pour un pool de noeuds gérés. Cela est utile pour les pools de noeuds qui utilisent des formes Bare Metal et qui nécessitent un placement d'hôte dédié ou un comportement de recyclage rapide.
Le recyclage rapide est une fonctionnalité de groupe d'hôtes de calcul qui peut rendre un hôte disponible pour réutilisation plus rapidement une fois l'instance de noeud de processus actif sur l'hôte terminée. Le recyclage rapide n'est disponible que pour les formes prises en charge. Pour Kubernetes Engine, cela signifie que lorsqu'une instance de noeud de processus actif prend fin, l'hôte peut devenir disponible plus tôt pour une instance de noeud de processus actif de remplacement, selon la configuration du groupe d'hôtes de calcul.
Kubernetes Engine ne crée pas de groupes d'hôtes de calcul, n'attache pas d'hôtes aux groupes d'hôtes de calcul ou ne configure pas de niveaux de recyclage de groupe d'hôtes. Créez et configurez le groupe d'hôtes de calcul dans l'interface de ligne de commande ou l'API du service Compute avant de le sélectionner dans Kubernetes Engine. Pour plus d'informations sur la création et la configuration de groupes d'hôtes de calcul, reportez-vous à Référence d'API ComputeHostGroup et à Référence d'interface de ligne de commande Compute-host-group dans la documentation du service Compute.
La modification du groupe d'hôtes de calcul pour une configuration de placement affecte les nouvelles instances de noeud de processus actif. Les instances de noeud de processus actif existantes ne sont pas déplacées automatiquement. Afin d'utiliser le groupe d'hôtes de calcul mis à jour pour les noeuds existants, mettez fin aux instances de noeud de processus actif existantes et remplacez-les afin que le service Compute place les instances de remplacement sur les hôtes du groupe d'hôtes de calcul mis à jour. Pour plus d'informations, reportez-vous à Terminaison et remplacement de noeuds de processus actif.
Avant d'utiliser un groupe d'hôtes de calcul avec un pool de noeuds gérés, notez les points suivants :
- Créez et configurez le groupe d'hôtes de calcul dans le service Compute.
- Vérifiez que l'état de cycle de vie du groupe d'hôtes de calcul est
ACTIVE. - Assurez-vous que le groupe d'hôtes de calcul se trouve dans le même domaine de disponibilité que la configuration de placement de pool de noeuds.
- Assurez-vous que la forme du pool de noeuds correspond à la forme du groupe d'hôtes de calcul.
- Pour un recyclage rapide, utilisez une forme qui prend en charge le recyclage rapide et configurez le niveau de recyclage du groupe d'hôtes de calcul dans le service Compute avant de sélectionner le groupe d'hôtes de calcul dans Kubernetes Engine.
- Ajoutez la stratégie IAM requise afin que Kubernetes Engine puisse utiliser le groupe d'hôtes de calcul lors du lancement des instances de noeud de processus actif.
Stratégie IAM requise
Pour permettre à un pool de noeuds d'utiliser un groupe d'hôtes de calcul, une stratégie doit exister permettant au principal de ressource de pool de noeuds d'utiliser le groupe d'hôtes de calcul. Par exemple :
allow any-user to {HOST_GROUP_LAUNCH_INSTANCE} in compartment <compartment_name> where request.principal.type = 'nodepool' and target.resource.id = '<host_group_OCID>'
où :
<compartment_name>est le nom du compartiment contenant le groupe d'hôtes de calcul.<host_group_OCID>est l'OCID du groupe d'hôtes de calcul.
Utilisation de la console
Vous pouvez indiquer un groupe d'hôtes de calcul lorsque vous créez un cluster avec un pool de noeuds gérés, créez un pool de noeuds gérés ou mettez à jour un pool de noeuds gérés existant.
Création d'un cluster et spécification d'un groupe d'hôtes de calcul pour un pool de noeuds gérés
- 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 de manière explicite dans le workflow Création personnalisée.
- Lorsque vous spécifiez la configuration de placement de noeud pour un pool de noeuds gérés dans le cluster :
- Indiquez le premier domaine de disponibilité et le premier sous-réseau :
- Domaine de disponibilité : sélectionnez le domaine de disponibilité dans lequel les noeuds de processus actif doivent être créés. Lorsque vous sélectionnez un groupe d'hôtes de calcul, le groupe d'hôtes de calcul doit se trouver dans le même domaine de disponibilité.
- Compartiment de sous-réseau de noeud de processus actif : sélectionnez le compartiment dans lequel réside le sous-réseau de noeud de processus actif.
- Sous-réseau de noeud de processus actif : sélectionnez un sous-réseau régional (recommandé) ou un sous-réseau propre à un domaine de disponibilité configuré pour héberger des noeuds de processus actif dans la liste des sous-réseaux du compartiment indiqué.
- Domaines de pannes : (facultatif) domaines de pannes du domaine de disponibilité dans lesquels placer les noeuds de processus actif.
-
Sélectionnez les options avancées et indiquez le groupe d'hôtes de calcul à utiliser :
- Type de capacité : sélectionnez Groupe d'hôtes.
- Compartiment : sélectionnez le compartiment contenant le groupe d'hôtes de calcul.
-
Groupe d'hôtes : sélectionnez le groupe d'hôtes de calcul à utiliser dans la liste. Le groupe d'hôtes de calcul doit appartenir au même domaine de disponibilité que la configuration de placement.
- Vous pouvez éventuellement sélectionner Ajouter une ligne pour ajouter des domaines de disponibilité, des sous-réseaux et des groupes d'hôtes de calcul 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 un groupe d'hôtes de calcul différent pour chaque domaine de disponibilité.
- Indiquez le premier domaine de disponibilité et le premier sous-réseau :
- Créez le cluster.
Le moteur Kubernetes crée le cluster et le pool de noeuds gérés. Pour chaque configuration de placement qui spécifie un groupe d'hôtes de calcul, le service Compute place les instances de noeud de processus actif sur les hôtes du groupe d'hôtes de calcul sélectionné.
Création d'un pool de noeuds gérés et spécification d'un groupe d'hôtes de calcul
- 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.
- Sur l'onglet Pools de noeuds de la page de détails du cluster, sélectionnez Ajouter un pool de nœuds afin de créer un pool de nœuds gérés et d'indiquer les propriétés requises pour ses nœuds de processus actif.
- Lorsque vous spécifiez la configuration de placement de noeud pour un pool de noeuds gérés dans le cluster :
- Indiquez le premier domaine de disponibilité et le premier sous-réseau :
- Domaine de disponibilité : sélectionnez le domaine de disponibilité dans lequel les noeuds de processus actif doivent être créés. Lorsque vous sélectionnez un groupe d'hôtes de calcul, le groupe d'hôtes de calcul doit se trouver dans le même domaine de disponibilité.
- Compartiment de sous-réseau de noeud de processus actif : sélectionnez le compartiment dans lequel réside le sous-réseau de noeud de processus actif.
- Sous-réseau de noeud de processus actif : sélectionnez un sous-réseau régional (recommandé) ou un sous-réseau propre à un domaine de disponibilité configuré pour héberger des noeuds de processus actif dans la liste des sous-réseaux du compartiment indiqué.
- Domaines de pannes : (facultatif) domaines de pannes du domaine de disponibilité dans lesquels placer les noeuds de processus actif.
-
Sélectionnez les options avancées et indiquez le groupe d'hôtes de calcul à utiliser :
- Type de capacité : sélectionnez Groupe d'hôtes.
- Compartiment : sélectionnez le compartiment contenant le groupe d'hôtes de calcul.
-
Groupe d'hôtes : sélectionnez le groupe d'hôtes de calcul à utiliser dans la liste. Le groupe d'hôtes de calcul doit appartenir au même domaine de disponibilité que la configuration de placement.
- Vous pouvez éventuellement sélectionner Ajouter une ligne pour ajouter des domaines de disponibilité, des sous-réseaux et des groupes d'hôtes de calcul 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 un groupe d'hôtes de calcul différent pour chaque domaine de disponibilité.
- Indiquez le premier domaine de disponibilité et le premier sous-réseau :
- Créez le pool de noeuds.
Le moteur Kubernetes crée le pool de noeuds gérés. Pour chaque configuration de placement qui spécifie un groupe d'hôtes de calcul, le service Compute place les instances de noeud de processus actif sur les hôtes du groupe d'hôtes de calcul sélectionné.
Mise à jour du groupe d'hôtes de calcul pour un pool de noeuds gérés
- 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.
- Dans l'onglet Pools de noeuds de la page de détails du cluster, sélectionnez le nom du pool de noeuds gérés à modifier.
- Sélectionnez Modifier dans le menu Actions.
- Dans Configuration du placement de noeud, sélectionnez Options avancées et mettez à jour le type de capacité ou le groupe d'hôtes de calcul sélectionné, le cas échéant.
- Enregistrez les modifications.
Le groupe d'hôtes de calcul mis à jour est utilisé pour les nouvelles instances de noeud de processus actif. Les instances de noeud de processus actif existantes ne sont pas déplacées automatiquement.
Afin d'utiliser le groupe d'hôtes de calcul mis à jour pour les noeuds existants, mettez fin aux instances de noeud de processus actif existantes et remplacez-les afin que le service Compute place les instances de remplacement sur les hôtes du groupe d'hôtes de calcul mis à jour. Pour plus d'informations, reportez-vous à Terminaison et remplacement de noeuds de processus actif.
Utilisation de la CLI
Création d'un pool de noeuds gérés utilisant un groupe d'hôtes de calcul
Pour utiliser l'interface de ligne de commande afin de créer un pool de noeuds gérés qui utilise un groupe d'hôtes de calcul pour provisionner les noeuds gérés, incluez la paire clé/valeur hostGroupId dans le tableau placementConfigs dans le paramètre --node-config-details au format suivant :
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>"
}
]
}'
Le groupe d'hôtes de calcul doit appartenir au même domaine de disponibilité que la configuration de placement et la forme du pool de noeuds doit correspondre à la forme du groupe d'hôtes de calcul.
Mise à jour du groupe d'hôtes de calcul pour un pool de noeuds gérés
Afin d'utiliser l'interface de ligne de commande pour mettre à jour un pool de noeuds gérés qui utilise un groupe d'hôtes de calcul pour provisionner des noeuds gérés, incluez la paire clé/valeur hostGroupId dans le tableau placementConfigs au format du paramètre --node-config-details :
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>"
}
]
}'
La mise à jour de hostGroupId affecte les nouvelles instances de noeud de processus actif. Les instances de noeud de processus actif existantes ne sont pas déplacées automatiquement. Afin d'utiliser le groupe d'hôtes de calcul mis à jour pour les noeuds existants, mettez fin aux instances de noeud de processus actif existantes et remplacez-les afin que le service Compute place les instances de remplacement sur les hôtes du groupe d'hôtes de calcul mis à jour. Pour plus d'informations, reportez-vous à Terminaison et remplacement de noeuds de processus actif.
Utilisation de l'API
Lors de la création ou de la mise à jour d'un pool de noeuds gérés, indiquez hostGroupId dans chaque configuration de placement qui utilise un groupe d'hôtes de calcul.
Pour créer des demandes de pool de noeuds, indiquez :
CreateNodePoolDetails.createNodePoolNodeConfigDetails.placementConfigs[].hostGroupId
Pour les demandes de mise à jour de pool de noeuds, indiquez :
UpdateNodePoolDetails.updateNodePoolNodeConfigDetails.placementConfigs[].hostGroupId
Résoudre les problèmes
Utilisez les informations suivantes pour résoudre les problèmes liés aux groupes d'hôtes de calcul dans les pools de noeuds gérés.
Le groupe d'hôtes de calcul n'est pas disponible dans la liste
Vérifiez les points suivants :
- Vous avez sélectionné le compartiment approprié.
- Le groupe d'hôtes de calcul se trouve dans le même domaine de disponibilité que la configuration de placement.
- Le groupe d'hôtes de calcul est actif.
- Vous êtes autorisé à afficher ou à utiliser le groupe d'hôtes de calcul.
Echec de la création ou de la mise à jour du pool de noeuds
Vérifiez les points suivants :
- La forme du pool de noeuds correspond à la forme du groupe d'hôtes de calcul.
- La stratégie IAM requise existe.
- Le groupe d'hôtes de calcul sélectionné n'est pas supprimé ou inactif.
- Le groupe d'hôtes de calcul sélectionné appartient au même domaine de disponibilité que la configuration de placement.
Les noeuds existants ne sont pas passés au groupe d'hôtes de calcul mis à jour
La modification du groupe d'hôtes de calcul affecte les nouvelles instances de noeud de processus actif. Les instances de noeud de processus actif existantes ne sont pas déplacées automatiquement.
Afin d'utiliser le groupe d'hôtes de calcul mis à jour pour les noeuds existants, mettez fin aux instances de noeud de processus actif existantes et remplacez-les afin que le service Compute place les instances de remplacement sur les hôtes du groupe d'hôtes de calcul mis à jour. Pour plus d'informations, reportez-vous à Terminaison et remplacement de noeuds de processus actif.