Creazione di script cloud-init per i nodi autogestiti

Scopri come creare lo script cloud-init per un nodo autogestito che desideri aggiungere a un cluster avanzato creato con Kubernetes Engine.

Quando si crea un nodo autogestito da aggiungere a un cluster avanzato, è necessario fornire uno script di cloud-init che specifichi l'endpoint privato API Kubernetes del cluster e il certificato CA con codifica base64.

Per creare lo script cloud-init per un nodo autogestito, effettuare le operazioni riportate di seguito.

  1. Ottenere l'endpoint privato dell'API Kubernetes del cluster avanzato a cui si desidera aggiungere il nodo autogestito utilizzando la console o l'interfaccia CLI:
    • Uso di Console:
      1. Aprire il menu di navigazione e selezionare Developer Services. In Container e artifact, selezionare Cluster Kubernetes (OKE).
      2. Nella pagina Elenco cluster, fare clic sul nome del cluster avanzato al quale si desidera aggiungere il nodo autogestito.

        Nella pagina Dettagli cluster viene visualizzato l'endpoint privato API Kubernetes, incluso il numero di porta. ad esempio 10.0.103.170:6443

      3. Prendere nota dell'endpoint privato API Kubernetes del cluster, senza il numero di porta. Ad esempio 10.0.103.170
    • Uso dell'interfaccia CLI:
      1. Immettere:
        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^' 

        Il comando grep estrae l'URL dell'endpoint del cluster dall'output del comando ce cluster create-kubeconfig. Il comando sed rimuove le informazioni sul protocollo e sulla porta dall'URL dell'endpoint del cluster per lasciare solo l'indirizzo IP.

      2. Prendere nota dell'endpoint privato API Kubernetes del cluster. Ad esempio 10.0.103.170
  2. Ottenere il certificato CA con codifica base64 del cluster dal file kubeconfig del cluster utilizzando la console o l'interfaccia CLI:
    • Uso di Console:
      1. Nella pagina Dettagli cluster prendere nota dell'OCID del cluster. Ad esempio, ocid1.cluster.oc1.phx.aaaaaaaa______ivq
      2. Fare clic su Accedi a cluster.
      3. Nella finestra di dialogo Accedi al cluster fare clic su Accesso a Cloud Shell, quindi su Avvia Cloud Shell.
      4. Nella finestra Cloud Shell, immettere il comando seguente:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        Dove:

        • <cluster-ocid> è il valore del parametro --cluster-id mostrato nel passo 2 della finestra di dialogo Accedi al cluster.
        • <region-identifier> è il valore del parametro --region mostrato nel passo 2 della finestra di dialogo Accedi al cluster.

        Ad esempio:

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

        Il certificato CA con codifica base64 viene visualizzato nella finestra Cloud Shell come una stringa alfanumerica lunga che inizia con i caratteri LS0t.

      5. Prendere nota del certificato CA con codifica base64 del cluster.
    • Uso dell'interfaccia CLI:
      1. Immettere quanto riportato di seguito.
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        Il certificato CA con codifica base64 viene visualizzato nella finestra Cloud Shell come una stringa alfanumerica lunga che inizia con i caratteri LS0t.

      2. Prendere nota del certificato CA con codifica base64 del cluster.
  3. Creare lo script cloud-init come indicato di seguito.
    1. In un editor di testo a scelta, creare un nuovo file di testo.
    2. Copiare e incollare lo script riportato di seguito nel file
      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "<cluster-endpoint>" \
        --kubelet-ca-cert "<base64-encoded-certificate>"

      Dove:

      • <cluster-endpoint> è l'endpoint privato API Kubernetes del cluster ottenuto in precedenza (senza il numero di porta). Ad esempio 10.0.103.170
      • <base64-encoded-certificate> è il certificato CA codificato in base64 del cluster ottenuto in precedenza (a partire dai caratteri LS0t).

      Ad esempio:

      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "10.0.103.170" \
        --kubelet-ca-cert "LS0t______UtLS0tLQo="
    3. Salvare il file di testo da utilizzare quando si crea il nodo autogestito.