Création de noeuds auto-gérés

Découvrez comment créer un noeud autogéré et l'ajouter à un cluster existant.

Utilisez le service Compute pour créer l'instance de calcul sur laquelle exécuter un noeud autogéré. Après avoir créé le noeud autogéré, vous l'ajoutez à un cluster amélioré existant.

Si vous voulez qu'un noeud autogéré utilise le module d'extension CNI flannel pour la mise en réseau de pod, vous pouvez créer le noeud autogéré à l'aide de la console, de l'interface de ligne de commande et de l'API. Si vous voulez qu'un noeud autogéré utilise le module d'extension CNI OCI VCN-Native Pod Networking pour le réseau de pod, vous pouvez créer le noeud autogéré à l'aide de l'interface de ligne de commande et de l'API.

Remarque

Pour plus d'informations sur la création de noeuds autogérés qui exécutent Ubuntu, reportez-vous à Exécution d'Ubuntu sur les noeuds de processus actif à l'aide d'images personnalisées.
  • Pour créer un noeud autogéré à l'aide de la console, procédez comme suit :

    1. Créez le script cloud-init contenant l'adresse privée d'API Kubernetes et le certificat d'autorité de certification encodé en base64 du cluster amélioré auquel ajouter le noeud autogéré. Reportez-vous à la section Creating Cloud-init Scripts for Self-managed Nodes.
    2. Créez une instance de calcul pour héberger le noeud autogéré :
      1. Ouvrez le menu de navigation et sélectionnez Compute. Sous Compute, sélectionnez Instances.
      2. Suivez les instructions de la documentation du service Compute pour créer une instance de calcul. Les stratégies appropriées doivent exister pour permettre à la nouvelle instance de calcul de rejoindre le cluster amélioré. Reportez-vous à la section Creating a Dynamic Group and a Policy for Self-Managed Nodes.
      3. Dans la section Image et Forme, sélectionnez Modifier l'image.
      4. Sélectionnez Mes images, sélectionnez l'option OCID d'image, puis entrez l'OCID de l'image Oracle Linux 7 (OL7) ou Oracle Linux 8 (OL8) OKE à utiliser. Reportez-vous à Exigences d'image.
      5. Sélectionnez Afficher les options avancées et, dans l'onglet Gestion, sélectionnez l'option Coller le script cloud-init.
      6. Copiez et collez le script cloud-init contenant l'adresse privée d'API Kubernetes et le certificat d'autorité de certification encodé en base64 dans le champ Script cloud-init. Reportez-vous à Création de scripts cloud-init pour les noeuds autogérés.
      7. Sélectionnez Créer pour créer l'instance de calcul destinée à héberger le noeud autogéré.

      Lorsque l'instance de calcul est créée, elle est ajoutée en tant que noeud autogéré au cluster avec l'adresse d'API Kubernetes que vous avez indiquée.

    3. Vérifiez que le noeud autogéré a été ajouté au cluster Kubernetes et confirmez son statut de préparation en saisissant la commande suivante :
      kubectl get nodes

      Par exemple :

      kubectl get nodes
      
      NAME           STATUS   ROLES    AGE   VERSION
      10.0.103.170   Ready    <none>   40m   v1.25.4
    4. Vérifiez que les étiquettes ont été ajoutées au noeud et définies comme prévu en saisissant la commande suivante :
      kubectl get node <node-name> -o json | jq '.metadata.labels'

      Par exemple :

      kubectl get node 10.0.103.170 -o json | jq '.metadata.labels'
      
      {
      ...
      "displayName": "oke-self-managed-node",
      "oci.oraclecloud.com/node.info.byon": "true",
      ...
      }
  • Utilisez la commande oci Compute instance launch et les paramètres requis pour créer un noeud autogéré :

    oci compute instance launch --availability-domain <availability-domain> --compartment-id <compartment-ocid> --shape <shape> --subnet-id <subnet-ocid> [OPTIONS]

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

    Conseils :

    • Indiquez le nom du fichier contenant le script cloud-init (requis pour ajouter l'instance de calcul au cluster en tant que noeud autogéré) à l'aide du paramètre --user-data-file de la commande oci Compute instance launch. Reportez-vous à la section Creating Cloud-init Scripts for Self-managed Nodes.
    • Indiquez l'image à utiliser pour créer le noeud autogéré en définissant le paramètre --image-id de la commande oci Compute instance launch. Reportez-vous à la section Configuration requise pour l'image.
    • Si vous voulez que le noeud autogéré utilise le module d'extension CNI de mise en réseau de pod natif OCI VCN pour le réseau de pod, ajoutez le paramètre --metadata à la commande oci compute instance launch, comme suit :
      --metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "<max-pods-per-node>", "pod-subnets": "<pod-subnet-ocid>", "pod-nsgids": "<nsg-ocid>"}'

      où :

      • "oke-native-pod-networking": "true" indique que vous voulez que le noeud autogéré utilise le module d'extension CNI OCI VCN-Native Pod Networking pour le réseau de pod.
      • "oke-max-pods": "<max-pods-per-node>" indique le nombre maximal de pods à exécuter sur le noeud autogéré.
      • "pod-subnets": "<pod-subnet-ocid>" indique l'OCID du sous-réseau de pod qui prend en charge la communication entre les pods et l'accès direct à des pods individuels à l'aide d'adresses IP de pod privées. Le sous-réseau de pod doit être privé.
      • "pod-nsgids": "<nsg-ocid>" indique éventuellement l'OCID des groupes de sécurité réseau contenant des règles de sécurité pour acheminer le trafic réseau vers les pods. Lorsque vous indiquez plusieurs groupes de sécurité réseau, utilisez une liste délimitée par des virgules au format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

      Pour plus d'informations sur le module d'extension CNI de mise en réseau de pod natif OCI VCN, reportez-vous à Utilisation du module d'extension CNI de mise en réseau de pod natif OCI VCN pour la mise en réseau de pod.

    • Si vous voulez que le noeud autogéré soit un noeud IPv4/IPv6 double pile (avec les adresses IPv4 et IPv6), ajoutez le paramètre --metadata à la commande oci compute instance launch, comme suit :
      --metadata '{"ip-families": "IPv4,IPv6"}'

    Exemples :

    Exemple 1 : commande permettant de créer un noeud autogéré qui utilise le module d'extension CNI flannel pour la mise en réseau de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file

    Exemple 2 : commande permettant de créer un noeud autogéré qui utilise le module d'extension CNI OCI VCN-Native Pod Networking pour la mise en réseau de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file \
        --metadata '{"oke-native-pod-networking": "true", 
          "oke-max-pods": "21", 
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka"},
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______ohea"'

    Exemple 3 : commande alternative permettant de créer un noeud autogéré qui utilise le module d'extension CNI OCI VCN-Native Pod Networking pour la mise en réseau de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --metadata '{"ssh_authorized_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAA...",
          "oke-native-pod-networking": "true",
          "oke-max-pods": "21",
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka,ocid1.subnet.oc1.phx.aaaaaaa______hzia",
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______",
          "user_data": "IyEvdXNyL2Jpbi9lbnYgYmFzaA..."}'
  • Exécutez l'opération LaunchInstance pour créer un noeud autogéré.

    Si vous voulez que le noeud autogéré utilise le module d'extension CNI OCI VCN-Native Pod Networking pour la mise en réseau de pod, utilisez l'attribut metadata pour spécifier des valeurs pour les clés suivantes :

    • oke-native-pod-networking : définissez cette option sur True pour indiquer que le noeud autogéré doit utiliser le module d'extension CNI OCI VCN-Native Pod Networking pour le réseau de pod.
    • oke-max-pods : nombre maximal de pods à exécuter sur le noeud autogéré.
    • sous-réseaux de pod : OCID du sous-réseau de pod qui prend en charge la communication entre les pods et l'accès direct à des pods individuels à l'aide d'adresses IP de pod privées. Le sous-réseau de pod doit être privé.
    • pod-nsgids : (facultatif) OCID des groupes de sécurité réseau contenant des règles de sécurité pour acheminer le trafic réseau vers les pods. Lorsque vous indiquez plusieurs groupes de sécurité réseau, utilisez une liste délimitée par des virgules au format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

    Pour plus d'informations sur le module d'extension CNI de mise en réseau de pod natif OCI VCN, reportez-vous à Utilisation du module d'extension CNI de mise en réseau de pod natif OCI VCN pour la mise en réseau de pod.