Criando Scripts Cloud-init para Nós Autogerenciados

Descubra como criar o script cloud-init para um nó autogerenciado que você deseja adicionar a um cluster aprimorado criado com o Kubernetes Engine.

Ao criar um nó autogerenciado para adicionar a um cluster aprimorado, você precisa fornecer um script cloud-init que especifique o ponto final privado da API do Kubernetes do cluster e o certificado de CA codificado em base64.

Para criar o script cloud-init para um nó autogerenciado:

  1. Obtenha o ponto final privado da API do Kubernetes do cluster aprimorado ao qual você deseja adicionar o nó gerenciado automaticamente usando a Console ou a CLI:
    • Usando a Console:
      1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e Artefatos, clique em Clusters do Kubernetes (OKE).
      2. Na página Lista de Clusters, clique no nome do cluster aprimorado ao qual você deseja adicionar o nó autogerenciado.

        Na página Detalhes do Cluster, o ponto final privado da API do Kubernetes é mostrado, incluindo o número da porta. Por exemplo, 10.0.103.170:6443

      3. Anote o ponto final privado da API do Kubernetes do cluster, sem o número da porta. Por exemplo, 10.0.103.170.
    • Usando a CLI:
      1. Informe:
        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^' 

        O comando grep extrai o URL do ponto final do cluster da saída do comando ce cluster create-kubeconfig. O comando sed remove as informações de protocolo e porta do URL do ponto final do cluster para deixar apenas o endereço IP.

      2. Anote o ponto final privado da API Kubernetes do cluster. Por exemplo: 10.0.103.170
  2. Obtenha o certificado da CA codificado em base64 do cluster no arquivo kubeconfig do cluster usando a Console ou a CLI:
    • Usando a Console:
      1. Na página Detalhes do Cluster, anote o OCID do cluster. Por exemplo, ocid1.cluster.oc1.phx.aaaaaaaa______ivq
      2. Clique em Acessar Cluster.
      3. Na caixa de diálogo Acessar Seu Cluster, clique em Acesso ao Cloud Shell e clique em Iniciar Cloud Shell.
      4. Na janela do Cloud Shell, digite o seguinte comando:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        em que:

        • <cluster-ocid> é o valor do parâmetro --cluster-id mostrado na etapa 2 na caixa de diálogo Acessar Seu Cluster.
        • <region-identifier> é o valor do parâmetro --region mostrado na etapa 2 na caixa de diálogo Acessar Seu Cluster.

        Por exemplo:

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

        O certificado da CA codificado em base64 é mostrado na janela do Cloud Shell como uma string alfanumérica longa que começa com os caracteres LS0t.

      5. Anote o certificado da CA codificado em base64 do cluster.
    • Usando a CLI:
      1. Informe:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        O certificado da CA codificado em base64 é mostrado na janela do Cloud Shell como uma string alfanumérica longa que começa com os caracteres LS0t.

      2. Anote o certificado da CA codificado em base64 do cluster.
  3. Crie o script cloud-init da seguinte forma:
    1. Em um editor de texto de sua escolha, crie um novo arquivo de texto.
    2. Copie e cole o seguinte script no arquivo:
      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "<cluster-endpoint>" \
        --kubelet-ca-cert "<base64-encoded-certificate>"

      em que:

      • <cluster-endpoint> é o ponto final privado da API do Kubernetes do cluster que você obteve anteriormente (sem o número da porta). Por exemplo, 10.0.103.170.
      • <base64-encoded-certificate> é o certificado da CA codificado em base64 do cluster que você obteve anteriormente (começando com os caracteres LS0t).

      Por exemplo:

      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "10.0.103.170" \
        --kubelet-ca-cert "LS0t______UtLS0tLQo="
    3. Salve o arquivo de texto para ser usado ao criar o nó autogerenciado.