Création d'un groupe de noeuds de travail OKE

Voyez comment créer des groupes de noeuds de travail OKE sur Compute Cloud@Customer pour une grappe de charges de travail.

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

Note

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

Pour configurer les paramètres du mandataire, utilisez l'interface de ligne de commande ou l'API pour définir le mandataire dans les métadonnées de noeud. Si la grappe utilise le réseau de pods natifs 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/Voir les grappes Kubernetes (OKE).

      Si la grappe à laquelle vous voulez attacher un groupe de noeuds n'est pas listée, sélectionnez un autre compartiment dans le menu Compartiment en haut de la page.

    2. Sélectionnez le nom de la grappe à laquelle vous voulez ajouter un groupe de noeuds.

    3. Dans la page des détails de la grappe, sous Ressources, sélectionnez Groupes de noeuds.

    4. Dans la liste Groupes de noeuds, sélectionnez Ajouter un groupe de noeuds.

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

      • Nom : Nom du nouveau groupe de noeuds. Évitez d'entrer des informations confidentielles.

      • compartiment : compartiment dans lequel créer le nouveau groupe de noeuds.

      • Options de groupe de noeuds : Dans le champ Nombre de noeuds, entrez le nombre de noeuds voulus dans ce groupe. La valeur par défaut est 0. Le nombre maximal est de 128 par grappe, qui peut être répartie entre plusieurs groupes de noeuds.

      • Groupe de sécurité de réseau : Si vous cochez la case pour activer les groupes de sécurité de réseau, sélectionnez Ajouter un groupe de sécurité de réseau et sélectionnez un groupe de sécurité de réseau dans la liste déroulante. Vous devrez peut-être modifier le compartiment pour trouver le groupe de sécurité de réseau souhaité. La carte VNIC principale du sous-réseau de travail sera associée à ce groupe de sécurité de réseau.

      • Configuration de positionnement

      • Image source : Sélectionnez une image.

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

        2. Sélectionnez une image dans la liste.

          La liste d'images comporte des 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 Kubernetes pour sélectionner une autre version.

          Si l'image que vous voulez utiliser n'est pas listée, utilisez la procédure d'interface de ligne de commande et spécifiez l'OCID de l'image. Pour obtenir l'OCID de l'image voulue, utilisez la commande ce node-pool get pour un groupe de noeuds où vous avez déjà utilisé cette image.

          Note

          L'image que vous spécifiez ne doit pas avoir une version de Kubernetes plus récente que celle de Kubernetes que vous avez spécifiée lors de la création de la grappe. La version de Kubernetes pour la grappe se trouve dans une colonne de la table de liste des grappes.

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

        Spécifiez le nombre d'OCPU voulu. 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 le nombre que vous spécifiez pour les OCPU. Sélectionnez à l'intérieur de chaque champ de valeur pour voir les valeurs minimale et maximale permise.

      • Volume de démarrage : (Facultatif) Cochez cette case pour spécifier une taille de volume de démarrage personnalisée.

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

        Si vous spécifiez une taille de volume de démarrage personnalisée, vous devez étendre la partition pour tirer parti de la taille supérieure. Les images de plate-forme Oracle Linux incluent l'ensemble oci-utils. Utilisez la commande oci-growfs de cet ensemble pour étendre la partition racine, puis agrandir le système de fichiers. Voir oci-growfs.

      • Communication par pod (grappes de réseau de pods natifs VCN uniquement)

        Sous-réseau de communication de pod : Sélectionnez un sous-réseau qui a une configuration telle que le sous-réseau "pod" décrit dans Création d'un sous-réseau de pods (VCN-Native Pod).

        Nombre de pods par noeud : Nombre maximal de pods à exécuter sur un seul noeud de travail d'un groupe de noeuds. La valeur par défaut est 31. Vous pouvez entrer un nombre compris entre 1 et 110. Le nombre de cartes vNIC autorisé par la forme que vous spécifiez (voir "Forme" ci-dessus) limite ce nombre maximal de pods. Voir Formes de noeud et nombre de pods. Pour conserver l'espace d'adresse du sous-réseau de pods, réduisez le nombre maximal de pods à exécuter sur un seul noeud de travail. Cela réduit le nombre d'adresses IP préaffectées dans le sous-réseau de pods.

        Si vous cochez la case Use Security Rules in Network Security Group (NSG), sélectionnez le bouton Add Network Security Group et sélectionnez un NSG dans la liste déroulante. Vous devrez peut-être modifier le compartiment pour trouver le groupe de sécurité de réseau souhaité. Les cartes vNIC secondaires du sous-réseau de pod seront attachées à ce groupe de sécurité de réseau.

      • Cordon et drainage : (Facultatif) Utilisez les flèches pour réduire ou augmenter le nombre de minutes de durée de grâce d'expulsion. Vous ne pouvez pas désélectionner "Forcer l'arrêt 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 de la durée de grâce du cordon et du drainage et de l'expulsion, sélectionnez l'onglet de l'interface de ligne de commande dans cette page et voir Paramètres de suppression de noeud et de groupe de noeuds.

      • Clé SSH : Clé SSH publique pour les noeuds de travail. Chargez le fichier de clé publique ou copiez et collez le contenu du fichier.

      • Étiquettes Kubernetes : Sélectionnez le bouton Ajouter une étiquette Kubernetes et entrez un nom et une valeur de clé. Vous pouvez utiliser ces étiquettes pour cibler les pods à des fins de programmation sur des noeuds ou des groupes de noeuds spécifiques. Voir la description et l'exemple dans la procédure CLI.

      • Marqueurs de groupe de noeuds : Marqueurs définis ou à structure libre pour la ressource de groupe de noeuds.

        Note

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

      • Marqueurs de noeud : Marqueurs définis ou à structure libre qui sont appliqués à chaque noeud du groupe de noeuds.

        Important

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

    6. Sélectionnez Ajouter un groupe de noeuds.

      La page de détails du groupe de noeuds s'affiche. Sous Ressources, sélectionnez Demandes de travail pour voir la progression de la création du groupe de noeuds et voir les noeuds ajoutés à la liste des noeuds. Le statut de la demande de travail est Accepté jusqu'à ce que la grappe ait l'état Actif ou Échec.

      Pour identifier ces noeuds dans une liste d'instances, notez que les noms de ces noeuds sont dans le format oke-ID, où ID est les 32 premiers caractères après pca_name dans l'OCID du groupe de noeuds. Recherchez les instances de la liste dont les noms contiennent la chaîne ID à partir de cet OCID de groupe de noeuds.

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

    Étape suivante :

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

    2. Créez un service pour exposer des applications conteneurisées en dehors du service Compute Cloud@Customer. Voir Exposition d'applications conteneurisées.

    3. Créer un stockage persistant pour les applications à utiliser. Voir Ajout du stockage pour les applications conteneurisées.

    Pour modifier les propriétés des noeuds existants, vous pouvez plutôt créer un nouveau groupe 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 nouveau groupe 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 vous voulez créer le groupe de noeuds : oci iam compartment list

      • OCID de la grappe pour ce groupe de noeuds : oci ce cluster list

      • Nom du groupe de noeuds. Évitez d'entrer des informations confidentielles.

      • Configuration de positionnement pour les noeuds, notamment l'OCID du sous-réseau de travail et le domaine d'erreur. Voir la description "Configuration du placement" dans la procédure 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 lister les domaines d'erreur : oci iam fault-domain list. Ne spécifiez pas plus d'un domaine d'erreur ou plus d'un sous-réseau dans la configuration de positionnement. Pour permettre au système de sélectionner les meilleurs domaines d'erreur, ne spécifiez aucun domaine d'erreur.

      • (Grappes de réseau de pods natifs VCN uniquement) OCID du sous-réseau de pods. Voir Création d'un sous-réseau de pods (VCN-Native Pod). Voir également la description dans Pod Communication dans la procédure 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 spécifier qu'un seul OCID de sous-réseau de pods.

        Nombre maximal de pods à exécuter sur un seul noeud de travail d'un groupe 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 virtuelle autorisées par la forme que vous spécifiez (voir "Nom de la forme" ci-dessous) limite ce nombre maximal de pods. Voir Formes de noeud et nombre de pods. Pour conserver l'espace d'adresse du sous-réseau de pods, réduisez le nombre maximal de pods à exécuter sur un seul noeud de travail. Cela réduit le nombre d'adresses IP préaffectées dans le sous-réseau de pods.

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

      • OCID de l'image à utiliser pour les noeuds de ce groupe 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 que vous voulez utiliser n'est pas listée, vous pouvez obtenir l'OCID de l'image à partir de la sortie de la commande ce node-pool get pour un groupe de noeuds où vous avez déjà utilisé cette image.

        Note

        L'image que vous spécifiez doit avoir -OKE- dans display-name et ne doit pas avoir une version de Kubernetes plus récente que la version de Kubernetes que vous avez spécifiée lors de la création de la grappe.

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

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

        Ne spécifiez pas l'option --kubernetes-version dans la commande node-pool create.

        Vous pouvez spécifier une taille de volume de démarrage personnalisée en gigaoctets. La taille du volume de démarrage par défaut est de 50 Go. Pour spécifier une taille de volume de démarrage personnalisée, utilisez l'option --node-source-details pour spécifier à la fois la taille du volume de démarrage et l'image. Vous ne pouvez pas spécifier --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 spécifiez une taille de volume de démarrage personnalisée, vous devez étendre la partition pour tirer parti de la taille supérieure. Les images de plate-forme Oracle Linux incluent l'ensemble oci-utils. Utilisez la commande oci-growfs de cet ensemble pour étendre la partition racine, puis agrandir le système de fichiers. Voir oci-growfs.

      • Nom de la forme des noeuds de travail dans ce groupe 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

        Spécifiez la configuration de la forme, comme illustré 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}'
        Note

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

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

      • Étiquettes (facultatif). La définition d'étiquettes sur les noeuds vous permet de cibler des pods pour la programmation 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 étiquettes aux noeuds. Les étiquettes sont une liste de paires clé-valeur à ajouter aux noeuds après leur adhésion à la grappe Kubernetes. Il existe des restrictions de clé de métadonnées. Voir Restrictions de clé de métadonnées.

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

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

        Un moyen facile de sélectionner des noeuds en fonction de leurs étiquettes consiste à utiliser nodeSelector dans la configuration de pod. Kubernetes programme uniquement le pod sur les noeuds qui ont chacune des étiquettes spécifiées dans la section nodeSelector.

        L'exemple d'extrait suivant d'une configuration de pod spécifie que les pods qui utilisent cette configuration doivent être exécutés sur les noeuds ayant l'étiquette de type de disque ssd :

        nodeSelector:
          disktype: ssd
      • métadonnées de noeud (facultatif); Utilisez l'option --node-metadata pour attacher des données d'utilisateur personnalisées aux noeuds. Voir l'élément de paramètres de mandataire suivant pour un exemple spécifique.

        Voir Restrictions liées aux clés de métadonnées. La taille maximale des métadonnées de noeud est de 32 000 octets.

      • (Facultatif) Paramètres du mandataire. Si votre réseau nécessite des paramètres de mandataire pour permettre aux noeuds de travail d'atteindre des registres ou des référentiels externes, par exemple, créez un argument pour l'option --node-metadata.

        Dans l'argument d'option --node-metadata, fournissez des 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 la grappe utilise le réseau de pods natifs 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 des noeuds et des groupes de noeuds. Vous pouvez spécifier comment gérer la suppression des noeuds lorsque vous supprimez un groupe de noeuds, supprimez un noeud spécifié, diminuez la taille du groupe de noeuds ou modifiez la configuration de positionnement des noeuds du groupe de noeuds. Ces paramètres de suppression de noeud peuvent également être définis ou modifiés lorsque vous mettez à jour le groupe de noeuds, supprimez un noeud spécifié ou supprimez le groupe de noeuds.

        Pour spécifier les paramètres de suppression du groupe de noeuds, créez un argument pour l'option --node-eviction-node-pool-settings. Vous pouvez spécifier la durée de grâce d'éviction (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 d'éviction. Cette valeur indique le temps nécessaire pour autoriser le cordon et le drainage des noeuds de travail.

          Un noeud qui est connecté ne peut pas avoir de nouveaux pods placés dessus. Les pods existants sur ce noeud ne sont pas affectés.

          Lorsqu'un noeud est drainé, les conteneurs de chaque pod se terminent correctement et effectuent tout 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 drainer 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'éviction par défaut ou spécifiée, le noeud est supprimé, même si un ou plusieurs conteneurs de pod ne sont pas complètement drainés.

        Les éléments suivants présentent 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}'
        Note

        Si vous utilisez Terraform et que vous spécifiez node_eviction_node_pool_settings, vous devez régler explicitement is_force_delete_after_grace_duration à Vrai, même si la valeur Vrai 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) Marqueurs. Ajoutez des marqueurs à structure libre pour la ressource de groupe de noeuds à l'aide des options --defined-tags ou --freeform-tags. Ne spécifiez pas de valeurs pour le marqueur défini OraclePCA-OKE.cluster_id ou pour le marqueur à structure libre ClusterResourceIdentifier. Ces valeurs de marqueur sont générées par le système et appliquées uniquement aux noeuds (instances), et non à la ressource de groupe de noeuds.

        Pour ajouter des marqueurs à structure libre à tous les noeuds du groupe de noeuds, utilisez les options --node-defined-tags et --node-freeform-tags.

        Important

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

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

      Exemple :

      Pour plus d'informations sur les options affichées dans cet exemple, voir la procédure Utilisation de la console et d'autres options telles que --node-boot-volume-size-in-gbs et nsg-ids. L'option --pod-subnet-ids n'est applicable que si la grappe utilise un réseau de pods natifs 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 du groupe 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 la grappe ait l'état Actif ou Échec.

      Pour identifier ces noeuds dans une liste d'instances, notez que les noms de ces noeuds sont dans le format oke- ID , où ID est les 32 premiers caractères après le nom dans l'OCID du groupe de noeuds. Recherchez les instances de la liste dont les noms contiennent la chaîne ID à partir de cet OCID de groupe de noeuds.

    Pour la liste complète des commandes, indicateurs et options de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande.

    Étape suivante :

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

    2. Créez un service pour exposer des applications conteneurisées en dehors du service Compute Cloud@Customer. Voir Exposition d'applications conteneurisées.

    3. Créer un stockage persistant pour les applications à utiliser. Voir Ajout du stockage pour les applications conteneurisées.

    Pour modifier les propriétés des noeuds existants, vous pouvez plutôt créer un nouveau groupe 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 nouveau groupe de noeuds.

    Pour plus d'informations sur l'utilisation de l'API et sur les demandes de signature, voir API REST et Données d'identification de sécurité. Pour plus d'informations sur les trousses SDK, voir Trousses SDK et interface de ligne de commande.

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

    2. Créez un service pour exposer des applications conteneurisées en dehors du service Compute Cloud@Customer. Voir Exposition d'applications conteneurisées.

    3. Créer un stockage persistant pour les applications à utiliser. Voir Ajout du stockage pour les applications conteneurisées.

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