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.
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:
- 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.
- Crie uma nova instância de computação para hospedar o nó autogerenciado:
- Abra o menu de navegação e selecione Computação. Em Compute, selecione Instâncias.
- 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.
- Na seção Imagem e Forma, clique em Alterar imagem.
- 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.
- Clique em Mostrar opções avançadas e, na guia Gerenciamento, selecione a opção Colar script cloud-init.
- 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.
- 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.
- 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
- 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 comandooci 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 comandooci 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..."}'
- 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
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.