Créer un pool de noeuds de processus actif OKE

Découvrez comment créer des pools de noeuds de processus actif OKE sur Compute Cloud@Customer pour un cluster de charges de travail.

Les noeuds sont des instances de calcul Compute Cloud@Customer. Lorsque vous créez un pool de noeuds de processus actif, vous indiquez le nombre de noeuds à créer et d'autres paramètres qui définissent les instances.

Remarque

Vous ne pouvez pas personnaliser les scripts OKE cloud-init.

Pour configurer les paramètres de proxy, utilisez l'interface de ligne de commande ou l'API pour définir le proxy dans les métadonnées de noeud. Si le cluster utilise la mise en réseau de pod natif VCN, ajoutez 169.254.169.254 au paramètre noproxy.

    1. Dans le tableau de bord de la console Compute Cloud@Customer, sélectionnez Conteneurs/Afficher les clusters Kubernetes (OKE).

      Si le cluster auquel vous souhaitez attacher un pool de noeuds n'est pas répertorié, sélectionnez un autre compartiment dans le menu de compartiment en haut de la page.

    2. Sélectionnez le nom du cluster auquel vous voulez ajouter un pool de noeuds.

    3. Sur la page de détails du cluster, sous Ressources, sélectionnez Pools de noeuds.

    4. Dans la liste Pools de noeuds, sélectionnez Ajouter un pool de noeuds.

    5. Dans la boîte de dialogue Ajouter un pool de noeuds, fournissez les informations suivantes :

      • Nom : nom du nouveau pool de noeuds. Evitez de saisir des informations confidentielles.

      • Compartiment : compartiment dans lequel créer le pool de noeuds.

      • Options de pool de noeuds : dans le champ Nombre de noeuds, entrez le nombre de noeuds souhaités dans ce pool de noeuds. Le numéro de port par défaut est 0. Le nombre maximal est de 128 par cluster, qui peut être réparti entre plusieurs pools de noeuds.

      • Groupe de sécurité réseau : si vous cochez la case permettant d'activer les groupes de sécurité réseau, sélectionnez Ajouter un groupe de sécurité réseau et sélectionnez un groupe de sécurité réseau dans la liste déroulante. Vous devrez peut-être changer de compartiment pour trouver le groupe de sécurité réseau souhaité. La carte d'interface réseau virtuelle principale du sous-réseau de processus actif sera attachée à ce groupe de sécurité réseau.

      • Configuration de placement

      • Image source : sélectionnez une image.

        1. Sélectionnez le type de source d'image de plate-forme.

        2. Sélectionnez une image dans la liste.

          La liste d'images contient les colonnes Système d'exploitation, Version du système d'exploitation et Version de Kubernetes. Vous pouvez utiliser la flèche du menu déroulant à droite de la version du système d'exploitation ou de la version de Kubernetes pour sélectionner une autre version.

          Si l'image à utiliser n'est pas répertoriée, utilisez la procédure d'interface de ligne de commande et indiquez son OCID. Pour obtenir l'OCID de l'image de votre choix, utilisez la commande ce node-pool get pour un pool de noeuds dans lequel vous avez déjà utilisé cette image.

          Remarque

          L'image que vous indiquez ne doit pas avoir de version de Kubernetes plus récente que celle de Kubernetes indiquée lors de la création du cluster. La version de Kubernetes du cluster se trouve dans une colonne de la table de liste des clusters.

      • Forme : sélectionnez une forme pour les noeuds de travail. La forme est VM.PCAStandard.E5. Flex et vous ne pouvez pas le modifier.

        Indiquez le nombre d'OCPU que vous souhaitez. Vous pouvez éventuellement indiquer la quantité totale de mémoire souhaitée. La valeur par défaut pour les gigaoctets de mémoire est 16 fois la valeur indiquée pour les OCPU. Sélectionnez dans chaque champ de valeur pour voir les valeurs minimum et maximum autorisées.

      • Volume d'initialisation : (facultatif) cochez la case pour indiquer une taille personnalisée de volume d'initialisation.

        Taille du volume d'initialisation (Go) : la taille de volume d'initialisation par défaut de l'image sélectionnée est affichée. Pour spécifier une taille plus grande, entrez une valeur comprise entre 50 et 16384 gigaoctets (50 Go à 16 To) ou utilisez les flèches d'incrémentation et de décrémentation.

        Si vous indiquez une taille personnalisée, vous devez étendre la partition afin de tirer parti de cette taille. Les images de plate-forme Oracle Linux incluent le package oci-utils. Utilisez la commande oci-growfs de ce package pour étendre la partition racine, puis développer le système de fichiers. Reportez-vous à oci-growfs.

      • Communication de pod (clusters de mise en réseau de pod natif VCN uniquement)

        Sous-réseau de communication de pod : sélectionnez un sous-réseau qui présente une configuration telle que le sous-réseau "pod" décrit dans Création d'un sous-réseau de pod (pod natif VCN).

        Nombre de pods par noeud : nombre maximal de pods à exécuter sur un seul noeud de processus actif dans un pool de noeuds. La valeur par défaut est 31. Vous pouvez entrer un nombre compris entre 1 et 110. Le nombre de VNIC autorisées par la forme que vous indiquez (reportez-vous à la section Forme ci-dessus) limite ce nombre maximal de pods. Reportez-vous à Formes de noeud et nombre de pods. Pour conserver l'espace d'adressage du sous-réseau de pod, réduisez le nombre maximal de pods à exécuter sur un seul noeud de processus actif. Cela réduit le nombre d'adresses IP pré-allouées dans le sous-réseau de pod.

        Si vous cochez la case Utiliser les règles de sécurité dans le groupe de sécurité réseau, cliquez sur le bouton Ajouter un groupe de sécurité réseau et sélectionnez un groupe de sécurité réseau dans la liste déroulante. Vous devrez peut-être changer de compartiment pour trouver le groupe de sécurité réseau souhaité. Les cartes d'interface réseau virtuelles secondaires du sous-réseau de pod seront attachées à ce groupe de sécurité réseau.

      • Cordon et purge : (facultatif) utilisez les flèches pour réduire ou augmenter la durée de grâce d'expulsion en minutes. Vous ne pouvez pas désélectionner "Forcer la fin après le délai de grâce". Les noeuds sont supprimés après l'expulsion de leurs pods ou à la fin de la durée de grâce d'expulsion, même si tous les pods ne sont pas expulsés.

        Pour une description du cordon et de la durée de grâce de purge et d'expulsion, sélectionnez l'onglet CLI sur cette page et reportez-vous à la section Node and node pool delete settings.

      • Clé SSH : clé SSH publique pour les noeuds de processus actif. Téléchargez le fichier de clés publiques ou copiez et collez le contenu du fichier.

      • Libellés Kubernetes : sélectionnez le bouton Ajouter un libellé Kubernetes et entrez un nom et une valeur de clé. Vous pouvez utiliser ces libellés pour cibler les pods en vue de leur programmation sur des noeuds ou des groupes de noeuds spécifiques. Reportez-vous à la description et à l'exemple de la procédure CLI.

      • Balises de pool de noeuds : balises définies ou à format libre pour la ressource de pool de noeuds.

        Remarque

        Ne spécifiez pas de valeurs pour la balise définie OraclePCA-OKE.cluster_id ou pour la balise à format libre ClusterResourceIdentifier. Ces valeurs de balise sont générées par le système et appliquées uniquement aux noeuds (instances), et non à la ressource de pool de noeuds.

      • Balises de noeud : balises définies ou à format libre qui sont appliquées à chaque noeud du pool de noeuds.

        Important

        Ne spécifiez pas de valeurs pour la balise définie OraclePCA-OKE.cluster_id ou pour la balise à format libre ClusterResourceIdentifier. Ces valeurs de balise sont générées par le système.

    6. Sélectionnez Ajouter un pool de noeuds.

      La page de détails du pool de noeuds est affichée. Sous Ressources, sélectionnez Demandes de travail pour voir la progression de la création du pool de noeuds et voir les noeuds ajoutés à la liste Noeuds. Le statut de la demande de travail est Accepté jusqu'à ce que le cluster soit à l'état Actif ou Echec.

      Pour identifier ces noeuds dans une liste d'instances, les noms de ces noeuds sont au format oke-ID, où ID correspond aux 32 premiers caractères après pca_name dans l'OCID de pool de noeuds. Recherchez les instances de la liste dont le nom contient la chaîne ID de cet OCID de pool de noeuds.

      Pour identifier ces noeuds dans une liste d'instances, les noms de ces noeuds contiennent les 32 premiers caractères après ccc_name de l'OCID de pool de noeuds, et ils contiennent l'OCID de cluster dans la balise OraclePCA-OKE/cluster_id.

    Etapes suivantes :

    1. Configurez les registres ou référentiels dont les noeuds de processus actif ont besoin. Assurez-vous que vous avez accès à un registre de conteneurs intranet ou public autogéré à utiliser avec le service OKE et les images d'application.

    2. Créez un service pour exposer les applications en conteneur en dehors de Compute Cloud@Customer. Reportez-vous à Exposition d'applications en conteneur.

    3. Créez un stockage persistant pour les applications à utiliser. Reportez-vous à Ajout de stockage pour les applications en conteneur.

    Pour modifier les propriétés des noeuds existants, vous pouvez créer un pool de noeuds avec les nouveaux paramètres et déplacer le travail vers les nouveaux noeuds.

  • Utilisez la commande oci ce node-pool create et les paramètres requis pour créer un pool de noeuds.

    oci ce node-pool create --cluster-id <cluster_OCID> --compartment-id <compartment_OCID> --name <pool_name> --node-shape <node_shape_name> [OPTIONS]
    1. Obtenez les informations dont vous avez besoin pour exécuter la commande.

      • OCID du compartiment dans lequel créer le pool de noeuds : oci iam compartment list

      • OCID du cluster pour ce pool de noeuds : oci ce cluster list

      • Nom du pool de noeuds. Evitez de saisir des informations confidentielles.

      • Configuration de placement pour les noeuds, y compris l'OCID de sous-réseau de processus actifs et le domaine de pannes. Reportez-vous à la description "Configuration de placement" dans la procédure de console. Utilisez la commande suivante pour afficher le contenu et le format de cette option :

        $ oci ce node-pool create --generate-param-json-input placement-configs

        Utilisez la commande suivante pour répertorier les domaines de pannes : oci iam fault-domain list. N'indiquez pas plusieurs domaines de pannes ou plusieurs sous-réseaux dans la configuration de placement. Pour permettre au système de sélectionner les meilleurs domaines de pannes, ne spécifiez aucun domaine de pannes.

      • (Clusters de mise en réseau de pod natif VCN uniquement) OCID du sous-réseau de pod. Voir Création d'un sous-réseau de pod (pod natif VCN). Reportez-vous également à la description dans Communication de pod dans la procédure de console précédente. Utilisez l'option --pod-subnet-ids. Bien que la valeur de l'option --pod-subnet-ids soit un tableau, vous ne pouvez indiquer qu'un seul OCID de sous-réseau de pod.

        Nombre maximal de pods que vous souhaitez exécuter sur un seul noeud de processus actif dans un pool de noeuds. Utilisez l'option --max-pods-per-node. La valeur par défaut est 31. Vous pouvez entrer un nombre compris entre 1 et 110. Le nombre de cartes d'interface réseau virtuelles autorisées par la forme que vous indiquez (reportez-vous à "Nom de la forme" ci-dessous) limite ce nombre maximal de pods. Reportez-vous à Formes de noeud et nombre de pods. Pour conserver l'espace d'adressage du sous-réseau de pod, réduisez le nombre maximal de pods à exécuter sur un seul noeud de processus actif. Cela réduit le nombre d'adresses IP pré-allouées dans le sous-réseau de pod.

        (Facultatif) OCID du groupe de sécurité réseau à utiliser pour les pods de ce pool de noeuds. Utilisez l'option --pod-nsg-ids. Vous pouvez indiquer jusqu'à cinq groupes de sécurité réseau.

      • OCID de l'image à utiliser pour les noeuds dans ce pool de noeuds.

        Utilisez la commande suivante pour obtenir l'OCID de l'image à utiliser :

        $ oci compute image list --compartment-id compartment_OCID
                             

        Si l'image à utiliser n'est pas répertoriée, vous pouvez obtenir l'OCID de l'image à partir de la sortie de la commande ce node-pool get pour un pool de noeuds dans lequel vous avez utilisé cette image auparavant.

        Remarque

        L'image que vous indiquez doit avoir -OKE- dans son display-name et ne doit pas avoir de version de Kubernetes plus récente que la version de Kubernetes indiquée lors de la création du cluster.

        La version de Kubernetes pour le cluster est affichée dans la sortie cluster list. La version de Kubernetes pour l'image est affichée dans la propriété display-name de la sortie image list. La version Kubernetes de l'image suivante est 1.29.9.

        "display-name": "uln-pca-Oracle-Linux8-OKE-1.29.9-20250325.oci"

        N'indiquez pas l'option --kubernetes-version dans la commande node-pool create.

        Vous pouvez spécifier une taille personnalisée de volume d'initialisation en gigaoctets. La taille par défaut du volume d'initialisation est de 50 Go. Pour indiquer une taille de volume d'initialisation personnalisée, utilisez l'option --node-source-details afin de spécifier à la fois la taille du volume d'initialisation et l'image. Vous ne pouvez pas indiquer à la fois --node-image-id et --node-source-details. Utilisez la commande suivante pour afficher le contenu et le format de l'option de détails de la source de noeud.

        $ oci ce node-pool create --generate-param-json-input node-source-details

        Si vous indiquez une taille personnalisée, vous devez étendre la partition afin de tirer parti de cette taille. Les images de plate-forme Oracle Linux incluent le package oci-utils. Utilisez la commande oci-growfs de ce package pour étendre la partition racine, puis développer le système de fichiers. Reportez-vous à oci-growfs.

      • Nom de la forme des noeuds de processus actif dans ce pool de noeuds. Pour les systèmes Compute Cloud@Customer X10, la forme des noeuds de plan de contrôle est VM.PCAStandard.E5. Champ flexible

        Indiquez la configuration de la forme, comme indiqué dans l'exemple suivant. Vous devez fournir une valeur pour ocpus. La propriété memoryInGBs est facultative ; la valeur par défaut en gigaoctets est 16 fois le nombre de ocpus.

        --node-shape-config '{"ocpus": 32, "memoryInGBs": 512}'
        Remarque

        Allouez au moins 2 OCPU et 32 Go de mémoire pour 10 pods en cours d'exécution. Vous devrez peut-être allouer davantage de ressources, en fonction des charges de travail planifiées. Reportez-vous à Resource Management pour les pods et les conteneurs.

      • (Facultatif) OCID du groupe de sécurité réseau à utiliser pour les noeuds de ce pool. Utilisez l'option --nsg-ids. Ne spécifiez pas plus d'un groupe de sécurité réseau.

      • (Facultatif) Libellés. La définition de libellés sur les noeuds vous permet de cibler des pods pour la planification sur des noeuds ou des groupes de noeuds spécifiques. Utilisez cette fonctionnalité pour vous assurer que des pods spécifiques s'exécutent uniquement sur des noeuds présentant certaines propriétés d'isolement, de sécurité ou réglementaires.

        Utilisez l'option --initial-node-labels pour ajouter des libellés aux noeuds. Les libellés sont une liste de paires clé/valeur à ajouter aux noeuds une fois qu'ils ont rejoint le cluster Kubernetes. Il existe des restrictions de clé de métadonnées. Reportez-vous à Restrictions de clé de métadonnées.

        Voici un exemple d'étiquette à appliquer aux noeuds du pool de noeuds :

        --initial-node-labels '[{"key":"disktype","value":"ssd"}]

        Pour sélectionner facilement des noeuds en fonction de leurs libellés, vous pouvez utiliser nodeSelector dans la configuration de pod. Kubernetes planifie uniquement le pod sur les noeuds possédant chacun des libellés indiqués dans la section nodeSelector.

        L'exemple d'extrait suivant d'une configuration de pod indique que les pods qui utilisent cette configuration doivent être exécutés sur des noeuds dotés du libellé de type de disque ssd :

        nodeSelector:
          disktype: ssd
      • (Facultatif) Métadonnées de noeud. Utilisez l'option --node-metadata pour attacher des données utilisateur personnalisées aux noeuds. Reportez-vous à l'élément de paramètres de proxy suivant pour obtenir un exemple spécifique.

        Reportez-vous à Restrictions de clé de métadonnées. La taille maximale des métadonnées de noeud est de 32 000 octets.

      • (Facultatif) Paramètres proxy. Si votre réseau requiert des paramètres de proxy pour permettre aux noeuds de processus actif d'atteindre des registres ou des référentiels extérieurs, par exemple, créez un argument pour l'option --node-metadata.

        Dans l'argument d'option --node-metadata, indiquez les valeurs pour crio-proxy et crio-noproxy, comme indiqué dans l'exemple d'argument de fichier suivant :

        {
          "crio-proxy": "http://<your_proxy>.<your_domain_name>:<your_port>",
          "crio-noproxy": "localhost,127.0.0.1,<your_domain_name>,ocir.io,<Kubernetes_cidr>,<pods_cidr>"
        }

        Si le cluster utilise la mise en réseau de pod natif VCN, ajoutez 169.254.169.254 au paramètre noproxy, comme dans l'exemple suivant :

        "crio-noproxy": "localhost,127.0.0.1,your_domain_name,ocir.io,Kubernetes_cidr,pods_cidr,169.254.169.254"
      • (Facultatif) Paramètres de suppression de noeud et de pool de noeuds. Vous pouvez indiquer comment gérer la suppression de noeuds lorsque vous supprimez un pool de noeuds, supprimez un noeud spécifié, réduisez la taille du pool de noeuds ou modifiez la configuration de placement des noeuds du pool de noeuds. Ces paramètres de suppression de noeud peuvent également être définis ou modifiés lorsque vous mettez à jour le pool de noeuds, supprimez un noeud spécifié ou supprimez le pool de noeuds.

        Pour spécifier les paramètres de suppression du pool de noeuds, créez un argument pour l'option --node-eviction-node-pool-settings. Vous pouvez indiquer la durée de grâce d'expulsion (evictionGraceDuration) pour les noeuds. Les noeuds sont toujours supprimés après l'expulsion de leurs pods ou à la fin de la durée de grâce d'expulsion.

        • Durée de grâce de l'expulsion. Cette valeur indique la durée de connexion et de purge des noeuds de processus actif.

          Un noeud cordonné ne peut pas comporter de nouveaux pods. Les pods existants sur ce noeud ne sont pas affectés.

          Lorsqu'un noeud est purgé, les conteneurs de chaque pod se terminent progressivement et effectuent le nettoyage nécessaire.

          La valeur de la durée de grâce d'expulsion est exprimée au format ISO 8601. La valeur par défaut et la valeur maximale sont de 60 minutes (PT60M). La valeur minimale est de 20 secondes (PT20S). OKE tente toujours de purger les noeuds pendant au moins 20 secondes.

        • Forcer la suppression. Les noeuds sont toujours supprimés après l'expulsion de leurs pods ou à la fin de la durée de grâce d'expulsion. Après la durée de grâce d'expulsion par défaut ou spécifiée, le noeud est supprimé, même si des conteneurs de pod ne sont pas entièrement purgés.

        Voici un exemple d'argument pour l'option --node-eviction-node-pool-settings. Si vous incluez la propriété isForceDeleteAfterGraceDuration, sa valeur doit être true. Les noeuds sont toujours supprimés après l'expulsion de leurs pods ou à la fin de la durée de grâce d'expulsion.

        --node-eviction-node-pool-settings '{"evictionGraceDuration": "PT30M", "isForceDeleteAfterGraceDuration": true}'
        Remarque

        Si vous utilisez Terraform et que vous indiquez node_eviction_node_pool_settings, vous devez définir explicitement is_force_delete_after_grace_duration sur true, même si true est la valeur par défaut. Le paramètre de propriété is_force_delete_after_grace_duration n'est pas facultatif si vous utilisez Terraform.

      • (Facultatif) Balises. Ajoutez des balises à format libre pour la ressource de pool de noeuds à l'aide des options --defined-tags ou --freeform-tags. N'indiquez pas de valeurs pour la balise définie OraclePCA-OKE.cluster_id ou pour la balise à format libre ClusterResourceIdentifier. Ces valeurs de balise sont générées par le système et appliquées uniquement aux noeuds (instances), et non à la ressource de pool de noeuds.

        Pour ajouter des balises à format libre à tous les noeuds du pool de noeuds, utilisez les options --node-defined-tags et --node-freeform-tags.

        Important

        N'indiquez pas de valeurs pour la balise définie OraclePCA-OKE.cluster_id ou pour la balise à format libre ClusterResourceIdentifier. Ces valeurs de balise sont générées par le système.

    2. Exécutez la commande de création de pool de noeuds.

      Exemple :

      Reportez-vous à la procédure Utilisation de la console pour plus d'informations sur les options présentées dans cet exemple et d'autres options telles que --node-boot-volume-size-in-gbs et nsg-ids. L'option --pod-subnet-ids est applicable uniquement si le cluster utilise la mise en réseau de pod natif VCN

      $ oci ce node-pool create \
      --cluster-id ocid1.cluster.unique_ID --compartment-id ocid1.compartment.unique_ID \
      --name node_pool_name --node-shape shape_name --node-image-id ocid1.image.unique_ID \
      --placement-configs '[{"availabilityDomain":"AD-1","subnetId":"ocid1.subnet.unique_ID"}]' \
      --pod-subnet-ids '["ocid1.subnet.unique_ID"]' --size 10 --ssh-public-key "public_key_text"

      Utilisez la commande work-request get pour vérifier le statut de l'opération de création de pool de noeuds. L'OCID de la demande de travail se trouve dans created-by-work-request-id dans la section metadata de la sortie cluster get.

      $ oci ce work-request get --work-request-id workrequest_OCID
                     

      Le statut de la demande de travail sera ACCEPTED jusqu'à ce que le cluster soit à l'état Actif ou Echec.

      Pour identifier ces noeuds dans une liste d'instances, les noms de ces noeuds sont au format oke- ID , où ID correspond aux 32 premiers caractères après le nom dans l'OCID de pool de noeuds. Recherchez les instances de la liste dont le nom contient la chaîne ID de cet OCID de pool de noeuds.

    Pour obtenir la liste complète des commandes, des indicateurs et des options d'interface de ligne de commande, reportez-vous à Référence de ligne de commande.

    Etapes suivantes :

    1. Configurez les registres ou référentiels dont les noeuds de processus actif ont besoin. Assurez-vous que vous avez accès à un registre de conteneurs intranet ou public autogéré à utiliser avec le service OKE et les images d'application.

    2. Créez un service pour exposer les applications en conteneur en dehors de Compute Cloud@Customer. Reportez-vous à Exposition d'applications en conteneur.

    3. Créez un stockage persistant pour les applications à utiliser. Reportez-vous à Ajout de stockage pour les applications en conteneur.

    Pour modifier les propriétés des noeuds existants, vous pouvez créer un pool de noeuds avec les nouveaux paramètres et déplacer le travail vers les nouveaux noeuds.

  • Utilisez l'opération CreateNodePool pour créer un pool de noeuds.

    Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à 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.

    1. Configurez les registres ou référentiels dont les noeuds de processus actif ont besoin. Assurez-vous que vous avez accès à un registre de conteneurs intranet ou public autogéré à utiliser avec le service OKE et les images d'application.

    2. Créez un service pour exposer les applications en conteneur en dehors de Compute Cloud@Customer. Reportez-vous à Exposition d'applications en conteneur.

    3. Créez un stockage persistant pour les applications à utiliser. Reportez-vous à Ajout de stockage pour les applications en conteneur.

    Pour modifier les propriétés des noeuds existants, vous pouvez créer un pool de noeuds avec les nouveaux paramètres et déplacer le travail vers les nouveaux noeuds.