Criando Nós Autônomos

Descubra como criar um novo nó autogerenciado e adicioná-lo a um cluster existente.

Você usa o serviço Compute para criar a instância de computação na qual executar um nó autogerenciado. Depois de criar o nó autogerenciado, adicione-o a um cluster aprimorado existente.

Se quiser que um nó autogerenciado use o plug-in flannel CNI para rede de pods, você poderá criar o nó autogerenciado usando a Console, a CLI e a API. Se quiser que um nó autogerenciado use o plug-in CNI VCN-Native Pod Networking do OCI para rede de pods, você poderá criar o nó autogerenciado usando a CLI e a API.

Observação

Para obter informações sobre a criação de nós autogerenciados que executam o Ubuntu, consulte Executando o Ubuntu em Nós de Trabalho Usando Imagens Personalizadas.
  • Para criar um nó autogerenciado usando a Console:

    1. Crie o script cloud-init que contém o ponto final privado da API do Kubernetes e o certificado da CA codificado em base64 do cluster aprimorado ao qual você deseja adicionar o nó autogerenciado. Consulte Criando Scripts Cloud-init para Nós Self-managed.
    2. Crie uma nova instância de computação para hospedar o nó autogerenciado:
      1. Abra o menu de navegação e selecione Computação. Em Compute, selecione Instâncias.
      2. Siga as instruções na documentação do serviço Compute para criar uma nova instância de computação. Observe que devem existir políticas apropriadas para permitir que a nova instância de computação entre no cluster aprimorado. Consulte Criando um Grupo Dinâmico e uma Política para Nós Self-Managed.
      3. Na seção Imagem e Forma, clique em Alterar imagem.
      4. Clique em Minhas imagens, selecione a opção OCID da Imagem e digite o OCID da imagem do OKE Oracle Linux 7 (OL7) ou do Oracle Linux 8 (OL8) que você deseja usar. Consulte Requisitos de Imagem.
      5. Clique em Mostrar opções avançadas e, na guia Gerenciamento, selecione a opção Colar script cloud-init.
      6. Copie e cole o script cloud-init que contém o ponto final privado da API do Kubernetes e o certificado da CA codificado em base64 no campo script cloud-init. Consulte Criando Scripts Cloud-init para Nós Self-managed.
      7. Clique em Criar para criar a instância de computação para hospedar o nó autogerenciado.

      Quando a instância de computação é criada, ela é adicionada como um nó autogerenciado ao cluster com o ponto final da API do Kubernetes especificado.

    3. Verifique se o nó autogerenciado foi adicionado ao cluster do Kubernetes e confirme o status de prontidão do nó digitando:
      kubectl get nodes

      Por exemplo:

      kubectl get nodes
      
      NAME           STATUS   ROLES    AGE   VERSION
      10.0.103.170   Ready    <none>   40m   v1.25.4
    4. Confirme se os labels foram adicionados ao nó e definidos conforme esperado digitando:
      kubectl get node <node-name> -o json | jq '.metadata.labels'

      Para

      kubectl get node 10.0.103.170 -o json | jq '.metadata.labels'
      
      {
      ...
      "displayName": "oke-self-managed-node",
      "oci.oraclecloud.com/node.info.byon": "true",
      ...
      }
  • Use o comando oci Compute instance launch e os parâmetros necessários para criar um nó autogerenciado:

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

    Para obter uma lista completa de flags e opções de variáveis para comandos da CLI, consulte a Referência de Linha de Comando.

    Dicas:

    • Especifique o nome do arquivo que contém o script cloud-init (obrigatório para adicionar a instância de computação ao cluster como um nó autogerenciado) usando o parâmetro --user-data-file do comando oci Compute instance launch. Consulte Criando Scripts Cloud-init para Nós Self-managed.
    • Especifique a imagem a ser usada para criar o nó autogerenciado definindo o parâmetro --image-id do comando oci Compute instance launch. Consulte Requisitos de Imagem.
    • Se você quiser que o nó autogerenciado use o plug-in CNI do OCI VCN-Native Pod Networking para rede de pods, adicione o parâmetro --metadata ao comando oci compute instance launch, da seguinte forma:
      --metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "<max-pods-per-node>", "pod-subnets": "<pod-subnet-ocid>", "pod-nsgids": "<nsg-ocid>"}'

      em que:

      • "oke-native-pod-networking": "true" especifica que você deseja que o nó autogerenciado use o plug-in da CNI de Rede de Pods Nativa da VCN do OCI para a rede de pods.
      • "oke-max-pods": "<max-pods-per-node>" especifica o número máximo de pods que você deseja executar no nó autogerenciado.
      • "pod-subnets": "<pod-subnet-ocid>" especifica o OCID da sub-rede de pod que suporta comunicação entre pods e acesso direto a pods individuais usando endereços IP de pod privado. A sub-rede de pod deve ser privada.
      • "pod-nsgids": "<nsg-ocid>" especifica opcionalmente o OCID de um ou mais grupos de segurança de rede (NSGs) que contêm regras de segurança para rotear o tráfego de rede para pods. Ao especificar vários NSGs, use uma lista delimitada por vírgulas no formato "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

      Para obter mais informações sobre o plug-in da CNI de Rede de Pod Nativa da VCN do OCI, consulte Usando o plug-in da CNI de Rede de Pod Nativa da VCN do OCI para a rede de pods.

    • Se você quiser que o nó autogerenciado seja um nó IPv4/IPv6 de pilha dupla (com os endereços IPv4 e IPv6), adicione o parâmetro --metadata ao comando oci compute instance launch, da seguinte forma:
      --metadata '{"ip-families": "IPv4,IPv6"}'

    Exemplos:

    Exemplo 1: Comando para criar um nó autogerenciado que usa o plug-in flannel CNI para rede 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

    Exemplo 2: Comando para criar um nó autogerenciado que use o plug-in CNI da Rede de Pods Nativa da VCN do OCI para a rede 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"'

    Exemplo 3: Comando alternativo para criar um nó autogerenciado que use o plug-in CNI do OCI VCN-Native Pod Networking para rede 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..."}'
  • Execute a operação LaunchInstance para criar um nó autogerenciado.

    Se você quiser que o nó autogerenciado use o plug-in CNI de Rede de Pod Nativa da VCN do OCI para rede de pods, use o atributo metadados para especificar valores para as seguintes chaves:

    • oke-native-pod-networking: Defina como verdadeiro para especificar que você deseja que o nó autogerenciado use o plug-in CNI da Rede Nativa do Pod da VCN do OCI para a rede de pods.
    • oke-max-pods: O número máximo de pods que você deseja executar no nó autogerenciado.
    • pod-subnets: O OCID da sub-rede de pod que suporta comunicação entre pods e acesso direto a pods individuais usando endereços IP de pod privados. A sub-rede de pod deve ser privada.
    • pod-nsgids: (opcional) O OCID de um ou mais grupos de segurança de rede (NSGs) que contêm regras de segurança para rotear o tráfego de rede para pods. Ao especificar vários NSGs, use uma lista delimitada por vírgulas no formato "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

    Para obter mais informações sobre o plug-in da CNI de Rede de Pod Nativa da VCN do OCI, consulte Usando o plug-in da CNI de Rede de Pod Nativa da VCN do OCI para a rede de pods.