Création de scripts cloud-init pour les noeuds autogérés

Découvrez comment créer le script cloud-init pour un noeud autogéré à ajouter à un cluster amélioré créé avec Kubernetes Engine.

Lors de la création d'un noeud autogéré à ajouter à un cluster amélioré, vous devez fournir un script cloud-init qui spécifie l'adresse privée d'API Kubernetes du cluster et le certificat d'autorité de certification encodé en base64.

Pour créer le script cloud-init pour un noeud autogéré, procédez comme suit :

  1. Obtenez l'adresse privée de l'API Kubernetes du cluster amélioré auquel ajouter le noeud autogéré à l'aide de la console ou de l'interface de ligne de commande :
    • Utilisation de la console :
      1. Dans la page de liste Clusters, sélectionnez le nom du cluster amélioré auquel ajouter le noeud autogéré. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.

        Sur la page Détails du cluster, l'adresse privée d'API Kubernetes est affichée, y compris le numéro de port. Pour ce faire, indiquez, par exemple 10.0.103.170:6443

      2. Notez l'adresse privée d'API Kubernetes du cluster, sans le numéro de port. Par exemple, 10.0.103.170
    • Utilisation de l'interface de ligne de commande :
      1. Saisissez :
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --kube-endpoint PRIVATE_ENDPOINT --file - \
        | grep -oE "https://[0-9\.]+:6443" \
        | sed -E 's^https://([0-9\.]+):.*^\1^' 

        La commande grep extrait l'URL de l'adresse de cluster à partir de la sortie de la commande ce cluster create-kubeconfig. La commande sed enlève les informations de protocole et de port de l'URL de l'adresse de cluster pour ne laisser que l'adresse IP.

      2. Notez l'adresse privée d'API Kubernetes du cluster. Par exemple : 10.0.103.170
  2. Obtenez le certificat CA encodé en base64 du cluster à partir du fichier kubeconfig du cluster à l'aide de la console ou de l'interface de ligne de commande :
    • Utilisation de la console :
      1. Sur la page Détails du cluster, notez l'OCID du cluster. Par exemple, ocid1.cluster.oc1.phx.aaaaaaaa______ivq
      2. Sélectionnez Accéder au cluster.
      3. Dans la boîte de dialogue Accéder au cluster, sélectionnez Accès à Cloud Shell, puis Lancer Cloud Shell.
      4. Dans la fenêtre Cloud Shell, entrez la commande suivante :
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        où :

        • <cluster-ocid> est la valeur du paramètre --cluster-id indiqué à l'étape 2 de la boîte de dialogue Accéder à votre cluster.
        • <region-identifier> est la valeur du paramètre --region indiqué à l'étape 2 de la boîte de dialogue Accéder à votre cluster.

        Par exemple :

        oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______ivq --region us-phoenix-1 --file - | grep -oE "LS0t.*"

        Le certificat d'autorité de certification encodé base64 apparaît dans la fenêtre Cloud Shell sous la forme d'une longue chaîne alphanumérique commençant par les caractères LS0t.

      5. Notez le certificat CA encodé en base64 du cluster.
    • Utilisation de l'interface de ligne de commande :
      1. Saisissez :
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        Le certificat d'autorité de certification encodé base64 apparaît dans la fenêtre Cloud Shell sous la forme d'une longue chaîne alphanumérique commençant par les caractères LS0t.

      2. Notez le certificat CA encodé en base64 du cluster.
  3. Créez le script cloud-init comme suit :
    1. Dans un éditeur de texte de votre choix, créez un fichier texte.
    2. Copier et coller le script suivant dans le fichier :
      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "<cluster-endpoint>" \
        --kubelet-ca-cert "<base64-encoded-certificate>"

      où :

      • <cluster-endpoint> est l'adresse privée d'API Kubernetes du cluster que vous avez obtenue précédemment (sans le numéro de port). Par exemple, 10.0.103.170
      • <base64-encoded-certificate> est le certificat d'autorité de certification au format base64 du cluster que vous avez obtenu précédemment (en commençant par les caractères LS0t).

      Par exemple :

      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "10.0.103.170" \
        --kubelet-ca-cert "LS0t______UtLS0tLQo="
    3. Enregistrez le fichier texte à utiliser lors de la création du noeud autogéré.