Quando si configurano alcune risorse di rete, è necessario conoscere determinate restrizioni.

Limiti di tag ed etichette

I tag hanno i seguenti limiti:

  • L'ambito del tag può contenere al massimo 128 caratteri.
  • Il valore del tag può contenere un massimo di 256 caratteri.
  • Ogni oggetto può avere al massimo 30 tag.

Questi limiti possono causare problemi quando le annotazioni di Kubernetes o OpenShift vengono copiate in ambiti e tag di NSX-T Data Center e i limiti vengono superati. Ad esempio, se un tag per la porta di un commutatore viene utilizzato in una regola del firewall, è possibile che la regola non venga applicata come previsto perché la chiave o il valore dell'annotazione sono stati troncati quando sono stati copiati in un ambito o in un tag.

Le etichette hanno i seguenti limiti:

  • Un pod non può includere più di 25 etichette.
  • Uno spazio dei nomi non può includere più di 27 etichette.
  • Un pod di un controller in ingresso non può includere più di 24 etichette.

Criteri di rete

Una risorsa NetworkPolicy ha le seguenti limitazioni:
  • Un podSelector o namespaceSelector non può includere più di 4 matchLabels.
  • Se in una sezione ingress from o egress to è presente un singolo elemento che specifica sia namespaceSelector sia podSelector, namespaceSelector non può selezionare più di 5 spazi dei nomi. In caso contrario, si verifica un errore. Un esempio di tale specifica (si noti che non è presente alcun trattino prima di podSelector):
    - namespaceSelector:
        matchLabels:
          project: myproject
      podSelector:
        matchLabels:
          role: db
  • Per qualsiasi regola di ingresso o uscita, il numero totale di namespaceSelector e podSelector non può essere maggiore di 5. Ad esempio, quanto segue non è consentito perché la regola include un totale di 6 selettori:
    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
  • Il criterio di rete Allow-all-egress con namedPorts nella sezione to.ports non è supportato.
  • Il campo matchExpressions non è supportato.
  • Il criterio di rete con SCTP nel campo protocol non è supportato.

Per risolvere il problema delle limitazioni, è possibile creare un criterio di rete con matchLabels più specifici oppure sostituire un criterio di rete con diversi criteri di rete che non richiedono più di 5 selettori.

Se un criterio di rete non è supportato da NCP, NCP lo segnalerà con un errore. È possibile aggiornare il criterio di rete per correggere l'errore e NCP lo elaborerà di nuovo.

Se per un criterio di rete è specificata solo l'uscita e non l'ingresso, non viene creata alcuna regola del firewall per il traffico in ingresso. Analogamente, se per un criterio di rete è specificato solo l'ingresso e non l'uscita, non viene creata alcuna regola del firewall per il traffico in uscita.

Quando le regole del firewall dell'ID app NSX vengono applicate alle risorse create da NCP, sono supportati solo i criteri di appartenenza ai gruppi "Segmento" e "Porta segmento". Si tenga presente che la funzionalità della regola del firewall dell'ID app è supportata solo se NCP è configurato per l'utilizzo dell'API del criterio NSX.