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 como criar 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 de CA codificado em base64 do cluster aprimorado ao qual você deseja adicionar o nó autogerenciado. Consulte Criando Scripts do Cloud-init para nós autogerenciados.
- 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 se junte ao cluster aprimorado. Consulte Criando um Grupo Dinâmico e uma Política paraNós Autogerenciados.
- Na seção Imagem e Forma, selecione Alterar imagem.
- Selecione Minhas imagens, selecione a opção OCID da Imagem e informe o OCID da imagem do OKE Oracle Linux 7 (OL7) ou do Oracle Linux 8 (OL8) que você deseja usar. Consulte Requisitos de Imagem.
- Selecione Opções avançadas e, na seção 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 do Cloud-init para nós autogerenciados.
- Clique em Próximo e siga as instruções restantes na documentação do serviço Compute para criar a instância de computação a fim de 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 nodesPor 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 (necessário para adicionar a instância de computação ao cluster como um nó autogerenciado) usando o parâmetro
--user-data-filedo comando oci Compute instance launch. Consulte Criando Scripts do Cloud-init para nós autogerenciados. - Especifique a imagem a ser usada para criar o nó autogerenciado definindo o parâmetro
--image-iddo 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
--metadataao 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 CNI de Rede Nativa de Pods da VCN do OCI, consulte Usando o plug-in CNI de Rede Nativa de Pods da VCN do OCI para rede de pod.
-
- 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
--metadataao 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-fileExemplo 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 (necessá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 CNI de Rede Nativa de Pods da VCN do OCI, consulte Usando o plug-in CNI de Rede Nativa de Pods da VCN do OCI para rede de pod.