Como Trabalhar com Nós Autogerenciados
Descubra como configurar e usar nós autogerenciados com o Kubernetes Engine.
Um nó autogerenciado é um nó de trabalho hospedado em uma instância de computação (ou pool de instâncias) que você mesmo criou no serviço Compute, em vez de em uma instância de computação que o Kubernetes Engine criou para você. Nós autogerenciados geralmente são chamados de BYON (Bring Your Own Nodes). Ao contrário dos nós gerenciados e dos nós virtuais (que são agrupados em pools de nós gerenciados e pools de nós virtuais, respectivamente), os nós autogerenciados não são agrupados em pools de nós.
Você usa o serviço Compute para criar as instâncias de computação nas quais hospedar nós autogerenciados. O uso do serviço Compute permite configurar instâncias de computação para cargas de trabalho especializadas, incluindo combinações de forma e imagem de computação que não estão disponíveis para nós gerenciados e nós virtuais. Por exemplo, talvez você queira instâncias com formas projetadas para cargas de trabalho aceleradas por hardware (como formas de GPU) ou formas projetadas para cargas de trabalho de computação de alto desempenho (HPC) que exigem núcleos de processador de alta frequência (como formas HPC e Otimizadas). Talvez você queira conectar muitas dessas instâncias com uma rede de alta largura de banda e latência ultrabaixa para formar uma rede de clusters do Oracle Cloud Infrastructure (consulte Usando Redes de Clusters RDMA).
Se você quiser simplificar a administração e gerenciar vários nós autogerenciados como um grupo, use o serviço Compute para criar um pool de instâncias de computação para hospedar um ou mais nós autogerenciados.
Ao criar uma instância de computação (ou pool de instâncias) para hospedar um nó autogerenciado, você especifica o cluster do Kubernetes ao qual adicionar a instância. Você só pode adicionar nós autogerenciados a clusters aprimorados.
O cluster ao qual você adiciona um nó autogerenciado e a imagem que você usa para a instância de computação que hospeda o nó autogerenciado devem atender a determinados requisitos. Consulte Requisitos de Cluster e Requisitos de Imagem, respectivamente.
Em um nível alto, estas são as etapas a serem seguidas para criar uma instância de computação para hospedar um nó autogerenciado e adicioná-lo a um cluster existente:
- Crie um grupo dinâmico (com uma regra que inclua a instância de computação a ser adicionada ao cluster) e uma política para o grupo dinâmico (com uma instrução de política para permitir que membros do grupo dinâmico ingressem no cluster). Consulte Criando um Grupo Dinâmico e uma Política para Nós Self-Managed.
- Crie um script cloud-init contendo o ponto final privado da API do Kubernetes do cluster e o certificado da CA codificado em base64. Consulte Criando Scripts Cloud-init para Nós Self-managed.
- Crie a nova instância de computação com base em uma imagem do OKE e forneça o script cloud-init. Consulte Criando Nós Autogerenciados.
Quando a instância de computação é criada, ela é adicionada ao cluster como um nó autogerenciado.
Observe o seguinte:
- Se você excluir o cluster ao qual adicionou nós autogerenciados, as instâncias de computação que hospedam os nós autogerenciados não serão encerradas. Os contêineres atualmente em execução nos nós podem continuar a ser executados, desde que não dependam do plano de controle do Kubernetes. Se você excluir um cluster ao qual adicionou nós autogerenciados, será sua responsabilidade encerrar as instâncias de computação que hospedam esses nós autogerenciados.
- Além de usar o serviço Compute para criar instâncias de computação individuais para hospedar nós autogerenciados individuais, você também pode usar o serviço Compute para criar um pool de instâncias de computação para hospedar um ou mais nós autogerenciados. Primeiro, você define uma configuração de instância que inclui o ponto final privado da API do Kubernetes do cluster e o certificado da CA codificado em base64 em um script cloud-init (como se você estivesse criando uma instância de computação individual). Em seguida, use a configuração da instância para criar uma ou mais instâncias em um pool de instâncias, cada uma das quais pode hospedar um nó autogerenciado. Você também pode usar a configuração de instância como modelo para iniciar instâncias individuais que não fazem parte de um pool de instâncias. Para obter mais informações, consulte Criando uma Configuração de Instância e Criando Pools de Instâncias.
- Para fazer upgrade da versão do Kubernetes em execução em um nó autogerenciado, substitua o nó autogerenciado existente por um novo nó autogerenciado. Consulte Upgrade de Nós Autogerenciados para uma Versão mais Recente do Kubernetes Substituindo um Nó Autogerenciado Existente.
- Por padrão, nós autogerenciados usam o plug-in flannel CNI para rede de pods. Se você quiser usar o plug-in CNI do OCI VCN-Native Pod Networking para rede de pods, use a CLI ou a API para especificar os parâmetros necessários (consulte Criando Nós Autogerenciados). Para usar o plug-in CNI do OCI VCN-Native Pod Networking para rede de pods (em vez do plug-in flannel CNI), os nós de plano de controle do cluster devem estar executando o Kubernetes versão 1.27.10 (ou posterior). Para obter mais informações sobre o plug-in CNI do OCI VCN-Native Pod Networking e o plug-in flannel CNI, consulte Pod Networking.
Usando nós autogerenciados com redes de clusters
Quando você usa o serviço Compute para criar um pool de instâncias de computação para hospedar um ou mais nós autogerenciados, pode gerenciar o pool de instâncias como uma rede de clusters do Oracle Cloud Infrastructure (consulte Redes de Clusters com Pools de Instâncias). As instâncias de computação dentro da rede de clusters são conectadas por uma rede de acesso remoto direto à memória (RDMA) de alta largura de banda, latência ultrabaixa. Para obter mais informações sobre o uso de uma rede RDMA com o Kubernetes Engine, consulte Executando cargas de trabalho de GPU RDMA (acesso remoto direto à memória) no OKE no github.
Recursos e recursos notáveis não suportados ao usar nós autogerenciados
Alguns recursos não estão disponíveis, ou ainda não estão disponíveis, ao usar nós autogerenciados.
Observe que, como os nós autogerenciados não são agrupados em pools de nós, nenhuma funcionalidade relacionada a pools de nós se aplica.
Recurso não suportado | Informações adicionais |
---|---|
Métricas de nó autogerenciadas na página Métricas do Kubernetes Engine na Console | As métricas do Kubernetes para nós autogerenciados não são mostradas na página Métricas do serviço Kubernetes Engine na Console. Use |
Exibindo nós autogerenciados na Console ou por meio da API do OCI OKE | Os nós autogerenciados não ficam visíveis nas páginas da Console do serviço Kubernetes Engine nem por meio da API do OCI OKE. Você pode usar a API do Kubernetes para listar nós autogerenciados usando o comando kubectl get nodes . |
Executando operações de manutenção em nós autogerenciados usando a Console | Não é possível executar operações de manutenção (como reinicialização, substituição do volume de inicialização, encerramento e substituição) em nós autogerenciados usando as páginas da Console do serviço Kubernetes Engine da mesma forma que os nós gerenciados. Observe que, se você executar operações de manutenção usando as páginas da Console do serviço Compute, as configurações de disponibilidade do Kubernetes não serão respeitadas. |
Usando imagens diferentes das imagens do OKE OL7, OL8 e Ubuntu | Ainda não está disponível |
Aplicação de políticas de desvio do Kubernetes | A política de distorção do Kubernetes de que os nós do plano de controle de um cluster devem ter no máximo duas versões secundárias (ou três versões secundárias, começando pelo Kubernetes versão 1.28) antes dos nós de trabalho não é imposta. |
do Kubernetes Cluster | Ainda não está disponível |
Ciclo de nós ao fazer upgrade ou atualizar nós autogerenciados | Ainda não está disponível |