Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Configure a escuta de NodePort com base em node pools

Última atualização: Jun 27, 2026

Em cenários de edge computing, podem ocorrer conflitos se múltiplos node pools expuserem a mesma porta por meio de serviços NodePort. O isolamento de serviço NodePort permite restringir quais node pools escutam nas portas de um serviço NodePort, evitando conflitos de porta entre os node pools.

Como funciona

O componente edge-hub inclui uma estrutura programável integrada de filtragem de dados que intercepta e transforma as respostas do kube-apiserver antes de entregá-las aos nós de borda. Um filtro chamado nodeportisolation atua em conjunto com a anotação nodeport.openyurt.io/listen para controlar quais node pools escutam nas portas de um serviço NodePort.

Architecture diagram

Pré-requisitos

Antes de começar, verifique se você possui:

  • Componente edge-hub versão 0.11.0 ou posterior

  • Um serviço NodePort ou LoadBalancer para configurar

Configure a escuta de NodePort por node pool

Adicione a anotação nodeport.openyurt.io/listen ao seu serviço NodePort ou LoadBalancer.

Chave da anotação: nodeport.openyurt.io/listen

Valor da anotação: Uma lista separada por vírgulas com os nomes dos node pools, usando a seguinte sintaxe:

  • foo — Ative a escuta nos nós do node pool chamado foo.

  • -foo — Desativa a escuta nos nós do node pool chamado foo.

  • * — Ative a escuta nos nós de todos os node pools.

Regras de comportamento:

  • Caso o nome de um node pool apareça em vários valores de anotação, apenas a primeira entrada terá efeito.

  • Node pools não listados na anotação terão a escuta de NodePort desativada.

  • Nós órfãos (que não pertencem a nenhum node pool) seguem o comportamento padrão do Kubernetes, mantendo a escuta de NodePort ativada.

Exemplos de anotações

nodeport.openyurt.io/listen=foo,bar       # Listen on nodes in foo and bar
nodeport.openyurt.io/listen=foo,*         # Listen on nodes in all node pools
nodeport.openyurt.io/listen=-foo,-bar     # Disable listening on nodes in all node pools
nodeport.openyurt.io/listen=-foo,*        # Disable listening only on nodes in foo
nodeport.openyurt.io/listen=foo,-foo      # Listen on nodes in foo
nodeport.openyurt.io/listen=-foo          # Disable listening on nodes in all node pools (including foo)
Nota

As configurações nodeport.openyurt.io/listen=foo,* e nodeport.openyurt.io/listen=foo,-foo ativam a escuta em foo, pois foo aparece antes da entrada conflitante e tem precedência.

Observações de uso

  • Inclua a anotação nodeport.openyurt.io/listen durante a criação do serviço. Se adicioná-la posteriormente, reinicie todas as instâncias do kube-proxy para que a alteração tenha efeito.

  • Ao adicionar um novo node pool, atualize a anotação para incluí-lo antes de provisionar novos nós. Isso garante que a escuta de NodePort esteja ativa em todos os nós assim que eles ingressarem no pool.

  • Utilize o ID do node pool (formato: npxxxx) em vez do nome, já que os nomes são personalizáveis e podem ser alterados. Consulte o ID do node pool no console do ACK.