Création de noeuds autogérés

Découvrez comment créer un nouveau noeud auto-géré et l'ajouter à une grappe existante.

Vous utilisez le service de calcul pour créer l'instance de calcul sur laquelle exécuter un noeud auto-géré. Après avoir créé le noeud auto-géré, vous l'ajoutez à une grappe améliorée existante.

Si vous voulez qu'un noeud auto-géré utilise le plugiciel CNI flannel pour le réseau de pods, vous pouvez créer le noeud auto-gé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 plugiciel CNI de réseau de pods natif du VCN OCI pour le réseau de pods, vous pouvez créer le noeud autogéré à l'aide de l'interface de ligne de commande et de l'API.

Note

Pour plus d'informations sur la création de noeuds autogérés qui exécutent Ubuntu, voir Exécution d'Ubuntu sur les noeuds de travail à l'aide d'images personnalisées.
  • Pour créer un noeud auto-géré à l'aide de la console :

    1. Créez le script cloud-init contenant le point d'extrémité privé de l'API Kubernetes et le certificat de l'autorité de certification encodé en base64 de la grappe améliorée à laquelle vous voulez ajouter le noeud autogéré. Voir Création de scripts Cloud-init pour les noeuds autogérés.
    2. Créez une instance de calcul pour héberger le noeud autogéré :
      1. Ouvrez le menu de navigation et sélectionnez Calcul. Sous Calcul, sélectionnez Instances.
      2. Pour créer une nouvelle instance de calcul, suivez les instructions de la documentation du service de calcul. Notez que des politiques appropriées doivent exister pour permettre à la nouvelle instance de calcul de se joindre à la grappe améliorée. Voir Création d'un groupe dynamique et d'une politique pour les noeuds autogérés.
      3. Dans la section Image et forme, sélectionnez Modifier l'image.
      4. Sélectionnez Mes images, sélectionnez l'option OCID de l'image, puis entrez l'OCID de l'image OKE Oracle Linux 7 (OL7) ou Oracle Linux 8 (OL8) que vous souhaitez utiliser. Voir Exigences relatives aux images.
      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 le point d'extrémité privé de l'API Kubernetes et le certificat AC encodé en base64 dans le champ Script Cloud-init. Voir Création de scripts Cloud-init pour les noeuds autogérés.
      7. Sélectionnez Créer pour créer l'instance de calcul pour héberger le noeud autogéré.

      Lorsque l'instance de calcul est créée, elle est ajoutée en tant que noeud autogéré à la grappe avec le point d'extrémité d'API Kubernetes que vous avez spécifié.

    3. Vérifiez que le noeud autogéré a été ajouté à la grappe Kubernetes et vérifiez son statut de disponibilité en entrant :
      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 entrant :
      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 auto-géré :

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

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

    Conseils :

    • Spécifiez le nom du fichier contenant le script cloud-init (obligatoire pour ajouter l'instance de calcul à la grappe en tant que noeud autogéré) à l'aide du paramètre --user-data-file de la commande oci Compute instance launch. Voir Création de scripts Cloud-init pour les noeuds autogérés.
    • Spécifiez l'image à utiliser pour créer le noeud auto-géré en définissant le paramètre --image-id de la commande oci Compute instance launch. Voir Exigences relatives aux images.
    • Si vous voulez que le noeud autogéré utilise le plugiciel CNI de réseau de pods natif du VCN OCI pour le réseau de pods, 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 plugiciel CNI de réseau de pods natif du VCN pour OCI pour le réseau de pods.
      • "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 un sous-réseau privé.
      • "pod-nsgids": "<nsg-ocid>" spécifie facultativement l'OCID d'un ou de plusieurs groupes de sécurité de réseau contenant des règles de sécurité pour acheminer le trafic réseau vers les pods. Lorsque vous spécifiez plusieurs groupes de sécurité de réseau, utilisez une liste délimitée par des virgules dans le format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

      Pour plus d'informations sur le plugiciel CNI de réseau de pods natif du VCN pour OCI, voir Utilisation du plugiciel CNI de réseau de pods natif du VCN pour OCI pour le service de réseau de pods.

    • 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 pour créer un noeud auto-géré qui utilise le plugiciel CNI flannel pour le réseau de pods.

    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 pour créer un noeud autogéré qui utilise le plugiciel CNI de réseau de pods natif du VCN pour OCI pour le service de réseau de pods.

    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 pour créer un noeud autogéré qui utilise le plugiciel CNI de réseau de pods natif du VCN OCI pour le réseau de pods.

    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 plugiciel CNI de réseau de pods natif du VCN OCI pour le réseau de pods, utilisez l'attribut de métadonnées pour spécifier des valeurs pour les clés suivantes :

    • oke-native-pod-networking : Réglé à Vrai pour spécifier que vous voulez que le noeud autogéré utilise le plugiciel CNI de réseau de pods natif du VCN pour OCI pour le réseau de pods.
    • oke-max-pods : Nombre maximal de pods à exécuter sur le noeud autogéré.
    • pod-subnets : 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é. Le sous-réseau de pod doit être un sous-réseau privé.
    • pod-nsgids : (facultatif) OCID d'un ou de plusieurs groupes de sécurité de réseau contenant des règles de sécurité pour acheminer le trafic réseau vers les pods. Lorsque vous spécifiez plusieurs groupes de sécurité de réseau, utilisez une liste délimitée par des virgules dans le format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

    Pour plus d'informations sur le plugiciel CNI de réseau de pods natif du VCN pour OCI, voir Utilisation du plugiciel CNI de réseau de pods natif du VCN pour OCI pour le service de réseau de pods.