Al configurar algunos recursos de red, debe tener en cuenta ciertas restricciones.

Límites de etiquetas

Las etiquetas tienen los siguientes límites:

  • El ámbito de las etiquetas tiene un límite de 128 caracteres.
  • El valor de las etiquetas tiene un límite de 256 caracteres.
  • Cada objeto puede tener hasta 30 etiquetas.

Estos límites pueden ocasionar problemas cuando se copian anotaciones de Kubernetes u OpenShift en los ámbitos y las etiquetas de NSX y se superan los límites. Por ejemplo, si una etiqueta de un puerto de conmutador se utiliza en una regla de firewall, es posible que la regla no se aplique según lo previsto debido a que la clave o el valor de anotación se hayan truncado al copiarlos en un ámbito o una etiqueta.

Las etiquetas tienen estos límites:

  • Un pod no puede tener más de 25 etiquetas.
  • Un espacio de nombres no puede tener más de 27 etiquetas.
  • Un pod de controlador de entrada no puede tener más de 24 etiquetas.

Directivas de redes

Un recurso de NetworkPolicy tiene las siguientes limitaciones:
  • podSelector o namespaceSelector no pueden tener más de 4 matchLabels.
  • En una sección de ingress from o egress to, si tiene un único elemento que especifica namespaceSelector y podSelector, namespaceSelector no debe seleccionar más de 5 espacios de nombres. De lo contrario, se producirá un error. Este es un ejemplo de esta especificación (tenga en cuenta que no hay guiones antes de podSelector):
    - namespaceSelector:
        matchLabels:
          project: myproject
      podSelector:
        matchLabels:
          role: db
  • Para cualquier regla de entrada o salida, el número total de namespaceSelector más podSelector no puede ser superior a 5. Por ejemplo, esto no estaría permitido porque la regla tiene un total de 6 selectores:
    ingress:
        - namespaceSelector:
            matchLabels:
              project: myproject1
        - namespaceSelector:
            matchLabels:
              project: myproject2
        - namespaceSelector:
            matchLabels:
              project: myproject3
        - podSelector:
            matchLabels:
              role: db
        - podSelector:
            matchLabels:
              role: app
        - podSelector:
            matchLabels:
              role: infra
  • No se admite la directiva de red allow-all-egress con namedPorts en la sección to.ports.
  • En el modo Directiva, al especificar matchExpressions en podSelector o namespaceSelector, se permite un operador In como máximo. Si especifica namespaceSelector y podSelector, podrá tener como máximo un operador In para uno de ellos. No puede tener un operador In para ambos. Por ejemplo, no se permite la siguiente especificación:
        - namespaceSelector:
            matchExpressions:
            - {key: key1, operator: In, values: [value1]}
          podSelector:
            matchExpressions:
            - {key: key1, operator: In, values: [value1]}
  • En el modo Manager, si especifica matchExpressions en podSelector, en namespaceSelector, o tanto en namespaceSelector como en podSelector, no se habrá ninguna restricción en la cantidad de operadores In.
  • No se admite la directiva de red con SCTP en el campo protocol.

Para solucionar las limitaciones, puede crear una directiva de red con matchLabels más específicas o reemplazar una directiva de red por varias directivas de red que no requieran más de 5 selectores.

Si NCP no admite una directiva de red, NCP la anotará con un error. Puede actualizar la directiva de red para solucionar el error y NCP la procesará de nuevo.

Si una directiva de red solo tiene especificadas salidas, pero ninguna entrada, no se creará ninguna regla de firewall para el tráfico de entrada. De forma similar, si una directiva de red solo tiene especificadas entradas, pero no salidas, no se creará ninguna regla de firewall para el tráfico de salida.

Cuando las reglas de firewall de identificador de aplicación de NSX se aplican a los recursos creados por NCP, solo se admiten los criterios de pertenencia al grupo "Segmento" y "Puerto de segmento". Tenga en cuenta que la función de regla de firewall de identificador de aplicación solo se admite si NCP está configurado para usar la API de directiva de NSX.