Creación de scripts de cloud-init para nodos autogestionados

Descubra cómo crear el script cloud-init para un nodo autogestionado que desea agregar a un cluster mejorado creado con Container Engine for Kubernetes.

Al crear un nodo autogestionado para agregarlo a un cluster mejorado, debe proporcionar un script cloud-init que especifique el punto final privado de la API de Kubernetes del cluster y el certificado de CA codificado con base64.

Para crear el script cloud-init para un nodo autogestionado:

  1. Obtenga el punto final privado de API de Kubernetes del cluster mejorado al que desea agregar el nodo autogestionado mediante la consola o la CLI:
    • Uso de la Consola:
      1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Contenedores y artefactos, haga clic en Clusters de Kubernetes (OKE).
      2. En la página Lista de clusters, haga clic en el nombre del cluster mejorado al que desea agregar el nodo autogestionado.

        En la página Detalles de cluster, se muestra el punto final privado de API de Kubernetes, incluido el número de puerto. Por ejemplo, 10.0.103.170:6443.

      3. Tome nota del punto final privado de la API de Kubernetes del cluster, sin el número de puerto. Por ejemplo 10.0.103.170
    • Uso de la CLI:
      1. Introducir:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --kube-endpoint PRIVATE_ENDPOINT --file - \
        | grep -oE "https://[0-9\.]+:6443" \   # extract cluster endpoint url
        | sed -E 's^https://([0-9\.]+):.*^\1^' # strip protocol/port for IP only
      2. Tome nota del punto final privado de la API de Kubernetes del cluster, sin el número de puerto. Por ejemplo 10.0.103.170
  2. Obtenga el certificado de CA codificado con base64 del cluster desde el archivo kubeconfig del cluster mediante la consola o la CLI:
    • Uso de la Consola:
      1. En la página Detalles de cluster, tome nota del OCID del cluster. Por ejemplo, ocid1.cluster.oc1.phx.aaaaaaaa______ivq
      2. Haga clic en Acceder al cluster.
      3. En el cuadro de diálogo Acceso al cluster, haga clic en Acceso a Cloud Shell y haga clic en Iniciar Cloud Shell.
      4. En la ventana Cloud Shell, introduzca el siguiente comando:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        donde:

        • <cluster-ocid> es el valor del parámetro --cluster-id que se muestra en el paso 2 del cuadro de diálogo Acceder al cluster.
        • <region-identifier> es el valor del parámetro --region que se muestra en el paso 2 del cuadro de diálogo Acceder al cluster.

        Por ejemplo:

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

        El certificado de CA codificado con base64 se muestra en la ventana de Cloud Shell como una cadena alfanumérica larga que empieza por los caracteres LS0t.

      5. Anote el certificado de CA codificado con base64 del cluster.
    • Uso de la CLI:
      1. Introducir:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        El certificado de CA codificado con base64 se muestra en la ventana de Cloud Shell como una cadena alfanumérica larga que empieza por los caracteres LS0t.

      2. Anote el certificado de CA codificado con base64 del cluster.
  3. Cree el script cloud-init de la siguiente manera:
    1. En un editor de texto de su elección, cree un nuevo archivo de texto.
    2. Copie y pegue el siguiente script en el archivo:
      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "<cluster-endpoint>" \
        --kubelet-ca-cert "<base64-encoded-certificate>"

      donde:

      • <cluster-endpoint> es el punto final privado de API de Kubernetes del cluster que ha obtenido anteriormente (sin el número de puerto). Por ejemplo 10.0.103.170
      • <base64-encoded-certificate> es el certificado de CA codificado en base64 del cluster que ha obtenido anteriormente (a partir de los caracteres LS0t).

      Por ejemplo:

      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "10.0.103.170" \
        --kubelet-ca-cert "LS0t______UtLS0tLQo="
    3. Guarde el archivo de texto para utilizarlo al crear el nodo autogestionado.