Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Configurar la escucha de NodePort según node pools

Última actualización: Sep 04, 2026

En escenarios de edge computing, los servicios NodePort pueden presentar conflictos si varios node pools exponen el mismo puerto. El aislamiento de servicios NodePort permite restringir qué node pools escuchan en los puertos de un servicio NodePort, lo que evita conflictos de puertos entre distintos node pools.

Funcionamiento

El componente edge-hub incluye un framework programable integrado para el filtrado de datos que intercepta y transforma las respuestas de kube-apiserver antes de entregarlas a los nodos perimetrales. Un filtro llamado nodeportisolation funciona junto con la anotación nodeport.openyurt.io/listen para controlar qué node pools escuchan en los puertos de un servicio NodePort.

Architecture diagram

Requisitos previos

Antes de empezar, asegúrese de contar con:

  • La versión 0.11.0 o posterior del componente edge-hub

  • Un servicio NodePort o LoadBalancer para configurar

Configurar la escucha de NodePort por node pool

Agregue la anotación nodeport.openyurt.io/listen a su servicio NodePort o LoadBalancer.

Clave de la anotación: nodeport.openyurt.io/listen

Valor de la anotación: Una lista separada por comas con los nombres de los node pools, mediante la siguiente sintaxis:

  • foo — Habilita la escucha en los nodos del node pool llamado foo.

  • -foo — Deshabilita la escucha en los nodos del node pool llamado foo.

  • * — Habilita la escucha en los nodos de todos los node pools.

Reglas de comportamiento:

  • Si el nombre de un node pool aparece en varios valores de la anotación, solo surte efecto la primera entrada.

  • Los node pools que no se incluyen en la anotación tienen la escucha de NodePort deshabilitada.

  • Los nodos huérfanos (nodos que no pertenecen a ningún node pool) se comportan igual que en Kubernetes estándar: la escucha de NodePort permanece habilitada.

Ejemplos de anotaciones

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

Tanto nodeport.openyurt.io/listen=foo,* como nodeport.openyurt.io/listen=foo,-foo habilitan la escucha en foo, ya que foo aparece antes de la entrada conflictiva y tiene prioridad.

Notas de uso

  • Agregue la anotación nodeport.openyurt.io/listen al crear el servicio. Si la agrega después de crearlo, reinicie todas las instancias de kube-proxy para que el cambio surta efecto.

  • Al agregar un nuevo node pool, actualice la anotación para incluirlo antes de añadirle nodos. Esto garantiza que la escucha de NodePort esté activa en todos los nodos conforme se unen al pool.

  • Utilice el ID del node pool (formato: npxxxx) en lugar del nombre, dado que los nombres son personalizables y pueden cambiar. Encuentre el ID del node pool en la consola de ACK.