Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Drenagem de um nó

Cenário

Depois de ativar a função de drenagem de nó no console, o sistema define o nó como não programável e despeja com segurança todos os pods que estejam em conformidade com Regras de drenagem de nó no nó. Novos pods subsequentes não serão programados para o nó.

Quando um nó está defeituoso, essa função ajuda a isolar rapidamente o nó defeituoso. Os pods despejados serão transferidos do controlador de carga de trabalho para outro nó que pode ser programado corretamente.

Restrições

  • Somente os clusters das seguintes versões suportam a função de drenagem de nó:
    • v1.21: v1.21.10-r0 ou mais recente
    • v1.23: v1.23.8-r0 ou mais recente
    • v1.25: v1.25.3-r0 ou mais recente
    • v1.25 ou mais recente
  • Para usar a função de drenagem de nó, um usuário do IAM deve ter pelo menos uma das seguintes permissões. Para mais detalhes, consulte Permissões de namespace (com base no RBAC do Kubernetes).
    • cluster-admin (administrador): permissões de leitura e gravação em todos os recursos em todos os namespaces.
    • drainage-editor: drenar um nó.
    • drainage-viewer: visualizar o status de drenagem de nodal, mas não pode drenar um nó.
  • Se um orçamento de interrupção não for especificado para a carga de trabalho, a função de carga de trabalho poderá ficar indisponível durante o reagendamento do pod.

Regras de drenagem de nó

A função de drenagem de nó expulsa com segurança os pods em um nó. No entanto, para pods que atendem aos seguintes critérios de filtragem, o sistema executa as operações correspondentes:

Critério do filtro

Drenagem forçada ativada

Drenagem forçada desativada

O campo status.phase do pod é Succeeded ou Failed.

Exclusão

Exclusão

O pod não é gerenciado pelo controlador de carga de trabalho.

Exclusão

Cancelamento da drenagem

O pod é gerenciado pelo DaemonSet.

Nenhuma

Cancelamento da drenagem

Um volume do tipo emptyDir é montado no pod.

Despejo

Cancelamento da drenagem

O pod é um pod estático gerenciado diretamente pelo kubelet

Nenhum

Nenhum

As seguintes operações podem ser realizadas em pods durante a drenagem de nó:

  • Exclusão: o pod é excluído do nó atual e não será agendado para outros nós.
  • Despejo: o pod é excluído do nó atual e reagendado para outro nó.
  • Nenhuma: o pod não será despejado ou excluído.
  • Cancelamento da drenagem: se um pod em um nó cancela a drenagem, o processo de drenagem do nó é encerrado e nenhum pod é despejado ou excluída.

Procedimento

  1. Efetue logon no console do CCE e acesse o console do cluster.
  2. No painel de navegação à esquerda, escolha Nodes. Na coluna Operation do nó de destino, escolha More > Node Drainage.
  3. Na janela Nodal Drainage exibida, defina os parâmetros.

    • Timeout (s): a tarefa de drenagem falha automaticamente após o período de tempo limite predefinido. O valor 0 indica que o período de tempo limite não está definido.
    • Forced Drainage: se esta função estiver ativada, pods gerenciados pelo DaemonSet serão ignorados e pods com volumes de emptyDir e pods não gerenciados pelos controladores serão excluídos. Para mais detalhes, consulte Regras de drenagem de nó.

  4. Clique em OK e aguarde até que a drenagem de nó esteja completa.