Utilisation de noeuds autogérés

Découvrez comment configurer et utiliser des noeuds autogérés avec Kubernetes Engine.

Un noeud autogéré est un noeud de travail hébergé sur une instance de calcul (ou un groupe d'instances) que vous avez créée vous-même dans le service de calcul, plutôt que sur une instance de calcul que Kubernetes Engine a créée pour vous. Les noeuds autogérés sont souvent appelés " Apportez vos propres noeuds " (BYON). Contrairement aux noeuds gérés et aux noeuds virtuels (qui sont regroupés en groupes de noeuds gérés et en groupes de noeuds virtuels respectivement), les noeuds autogérés ne sont pas regroupés en groupes de noeuds.

Vous utilisez le service de calcul pour créer les instances de calcul sur lesquelles héberger des noeuds autogérés. L'utilisation du service de calcul vous permet de configurer des instances de calcul pour des charges de travail spécialisées, notamment des combinaisons de formes de calcul et d'images qui ne sont pas disponibles pour les noeuds gérés et les noeuds virtuels. Par exemple, vous pouvez vouloir des instances avec des formes conçues pour les charges de travail accélérées du matériel (telles que les formes de GPU) ou des formes conçues pour les charges de travail de calcul de haute performance qui nécessitent des coeurs de processeur à fréquence élevée (telles que les formes de calcul de haute performance et optimisées). Vous pouvez connecter de nombreuses instances de ce type à un réseau à bande passante élevée à très faible latence pour former un réseau en grappe d'Oracle Cloud Infrastructure (voir Utilisation des réseaux en grappe RDMA).

Si vous voulez simplifier l'administration et gérer plusieurs noeuds autogérés en tant que groupe, utilisez le service de calcul pour créer un groupe d'instances de calcul afin d'héberger un ou plusieurs noeuds autogérés.

Lors de la création d'une instance de calcul (ou d'un groupe d'instances) pour héberger un noeud autogéré, vous spécifiez la grappe Kubernetes à laquelle ajouter l'instance. Vous pouvez uniquement ajouter des noeuds autogérés à des grappes améliorées.

La grappe à laquelle vous ajoutez un noeud auto-géré et l'image que vous utilisez pour l'instance de calcul hébergeant le noeud auto-géré doivent répondre à certaines exigences. Voir Exigences relatives aux grappes et Exigences relatives aux images, respectivement.

Au niveau général, voici les étapes à suivre pour créer une instance de calcul pour héberger un noeud autogéré et l'ajouter à une grappe existante :

Lorsque l'instance de calcul est créée, elle est ajoutée à la grappe en tant que noeud autogéré.

Notez ce qui suit :

  • Si vous supprimez la grappe à laquelle vous avez ajouté des noeuds autogérés, les instances de calcul hébergeant les noeuds autogérés ne sont pas arrêtées. Les conteneurs en cours d'exécution sur les noeuds peuvent continuer à s'exécuter, à condition qu'ils ne dépendent pas du plan de contrôle Kubernetes. Si vous supprimez une grappe à laquelle vous avez ajouté des noeuds autogérés, il vous incombe de mettre fin aux instances de calcul qui hébergent ces noeuds autogérés.
  • En plus d'utiliser le service de calcul pour créer des instances de calcul individuelles afin d'héberger des noeuds individuels autogérés, vous pouvez également utiliser le service de calcul pour créer un groupe d'instances de calcul afin d'héberger un ou plusieurs noeuds autogérés. Tout d'abord, vous définissez une configuration d'instance qui inclut le point d'extrémité privé de l'API Kubernetes de la grappe et le certificat d'autorité de certification encodé base64 dans un script cloud-init (comme si vous créiez une instance de calcul individuelle). Vous utilisez ensuite la configuration d'instance pour créer une ou plusieurs instances dans un groupe d'instances, chacune pouvant héberger un noeud autogéré. Vous pouvez également utiliser la configuration d'instance comme modèle pour lancer des instances individuelles qui ne font pas partie d'un groupe d'instances. Pour plus d'informations, voir Création d'une configuration d'instance et Création de groupes d'instances.
  • Pour mettre à niveau la version de Kubernetes exécutée sur un noeud autogéré, vous devez remplacer le noeud autogéré existant par un nouveau noeud autogéré. Voir Mise à niveau de noeuds auto-gérés vers une version de Kubernetes plus récente en remplaçant un noeud auto-géré existant.
  • Par défaut, les noeuds autogérés utilisent le plugiciel CNI flannel pour le réseau de pods. Si vous voulez utiliser le plugiciel CNI de réseau de pods natifs du VCN OCI pour le réseau de pods à la place, utilisez l'interface de ligne de commande ou l'API pour spécifier les paramètres nécessaires (voir Création de noeuds autogérés). Pour utiliser le plugiciel CNI de réseau de pods natifs du VCN OCI pour le réseau de pods (plutôt que le plugiciel CNI de canal), les noeuds de plan de contrôle de la grappe doivent exécuter Kubernetes version 1.27.10 (ou ultérieure). Pour plus d'informations sur le plugiciel CNI de réseau de pods natifs du VCN OCI et le plugiciel CNI flannel, voir Réseau de pods.

Utilisation de noeuds autogérés avec des réseaux en grappe

Lorsque vous utilisez le service de calcul pour créer un groupe d'instances de calcul pour héberger un ou plusieurs noeuds autogérés, vous pouvez gérer le groupe d'instances en tant que réseau en grappe d'Oracle Cloud Infrastructure (voir Réseaux en grappe avec groupes d'instances). Les instances de calcul du réseau en grappe sont connectées au moyen d'un réseau RDMA (accès direct à la mémoire distant), à bande passante élevée et à très faible latence. Pour plus d'informations sur l'utilisation d'un réseau RDMA avec Kubernetes Engine, voir Exécution des charges de travail GPU RDMA (accès direct à la mémoire distante) sur OKE sur github.

Fonctions et capacités notables non prises en charge lors de l'utilisation de noeuds autogérés

Certaines fonctionnalités ne sont pas disponibles ou ne le sont pas encore lors de l'utilisation de noeuds autogérés.

Notez que, comme les noeuds autogérés ne sont pas regroupés en groupes de noeuds, aucune fonctionnalité liée aux groupes de noeuds ne s'applique.

Fonction non prise en charge Informations supplémentaires
Mesures de noeud autogérées dans la page Mesures du moteur Kubernetes de la console Les mesures Kubernetes pour les noeuds autogérés ne sont pas affichées dans la page Mesures du service Kubernetes Engine de la console.

Utilisez kubectl pour voir les mesures Kubernetes (telles que l'état des noeuds Kubernetes) pour les noeuds autogérés et la page Mesures de la console du service de calcul pour voir les mesures de calcul (telles que l'utilisation de la mémoire) pour les instances de calcul hébergeant des noeuds autogérés.

Affichage des noeuds autogérés dans la console ou au moyen de l'API OKE OCI Les noeuds autogérés ne sont pas visibles dans les pages de la console du service Kubernetes Engine ni au moyen de l'API OKE OCI. Vous pouvez utiliser l'API Kubernetes pour lister les noeuds autogérés à l'aide de la commande kubectl get nodes.
Exécution d'opérations de maintenance sur des noeuds autogérés à l'aide de la console Vous ne pouvez pas effectuer d'opérations de maintenance (redémarrage, remplacement de volume de démarrage, arrêt et remplacement) sur les noeuds autogérés à l'aide des pages de la console du service Kubernetes Engine de la même manière que les noeuds gérés. Notez que si vous effectuez des opérations de maintenance à l'aide des pages de la console du service de calcul, les configurations de disponibilité de Kubernetes ne sont pas respectées.
Utilisation d'images autres que les images OKE OL7, OL8 et Ubuntu Pas encore disponible.
Application de la politique d'altération de Kubernetes La politique d'asymétrie de Kubernetes selon laquelle les noeuds de plan de contrôle d'une grappe ne doivent pas être plus de deux versions mineures (ou trois versions mineures, à partir de la version 1.28 de Kubernetes) avant les noeuds de travail n'est pas appliquée.
Ajustement automatique de grappe Kubernetes Pas encore disponible.
Cyclage de noeud lors de la mise à niveau ou de la mise à jour des noeuds autogérés Pas encore disponible.