È possibile creare gruppi con tipi di membri (risorse) Kubernetes nei criteri di appartenenza dinamica in modo che corrispondano al traffico in entrata o in uscita da cluster Kubernetes Antrea.
È quindi possibile utilizzare questi gruppi generici nelle regole del firewall distribuito o nelle regole del firewall del gateway per proteggere il traffico tra le macchine virtuali nell'ambiente NSX e i pod nei cluster Kubernetes Antrea.
Questa funzionalità richiede la versione di Antrea-NSX Interworking disponibile con VMware Container Networking™ with Antrea™ 1.6.0 o versione successiva. Vedere le note di rilascio della versione 1.6.0.
In questa documentazione viene utilizzata la frase "tipi di membri Kubernetes" per fare riferimento alle "risorse Kubernetes" che è possibile utilizzare per configurare i criteri di appartenenza dinamica.
Attualmente, i gruppi generici con tipi di membri Kubernetes supportano solo i criteri di appartenenza dinamica. Non è possibile aggiungere tipi di membri Kubernetes in modo statico in una definizione di gruppo generica.
Tipi di membri Kubernetes nel criterio di appartenenza
In un gruppo generico, i tipi di membri Kubernetes sono disponibili nella pagina Criteri di appartenenza solo quando almeno un cluster Kubernetes Antrea è registrato nell'ambiente NSX.
Nella tabella seguente sono elencati i tipi di membri Kubernetes disponibili nella vista Predefinita di NSX 4.1 e versioni successive per aggiungere criteri di appartenenza dinamica in un gruppo generico. Ogni tipo di membro Kubernetes appartiene all'ambito del cluster o dello spazio dei nomi.
Tipo di membro | Ambito |
---|---|
Cluster Kubernetes |
Cluster |
Spazio dei nomi Kubernetes |
Spazio dei nomi |
Nodo Kubernetes |
Cluster |
Servizio Kubernetes |
Spazio dei nomi |
Ingresso Kubernetes |
Spazio dei nomi |
Gateway Kubernetes |
Spazio dei nomi |
Uscita Antrea |
Cluster |
Pool IP Antrea |
Cluster |
Convenzioni di denominazione utilizzate per le condizioni con tipi di membri Kubernetes
La tabella seguente illustra le convenzioni di denominazione utilizzate in questa documentazione per rappresentare le diverse condizioni che è possibile aggiungere nei criteri di appartenenza dinamica, basati sui tipi di membri Kubernetes.
Convenzione di denominazione per la condizione | Significato |
---|---|
Condizione cluster Kubernetes |
Le condizioni nei criteri di appartenenza dinamica si basano sul tipo di membro Cluster Kubernetes. |
Condizione spazio dei nomi Kubernetes |
Le condizioni nei criteri di appartenenza dinamica si basano sul tipo di membro Spazio dei nomi Kubernetes. |
Condizione risorse |
Le condizioni nel criterio di appartenenza dinamica si basano su uno di questi tipi di membri Kubernetes:
|
Condizione risorse nell'ambito del cluster |
Le condizioni nei criteri di appartenenza dinamica si basano su uno di questi tipi di membri Kubernetes:
|
Condizione risorse nell'ambito dello spazio dei nomi |
Le condizioni nei criteri di appartenenza dinamica si basano su uno di questi tipi di membri Kubernetes:
|
Panoramica dei criteri di appartenenza con i tipi di membri di Kubernetes
Un criterio può avere una o più condizioni. Le condizioni possono utilizzare lo stesso tipo di membro Kubernetes o una combinazione di tipi di membri Kubernetes diversi. Tuttavia, si applicano alcune restrizioni all'aggiunta di più condizioni con tipi di membri misti in un criterio di appartenenza. Vedere la sezione Limitazioni per l'utilizzo dei tipi di membri Kubernetes in un criterio più avanti in questa documentazione.
Per impostazione predefinita, NSX utilizza l'operatore logico AND dopo ogni condizione di un criterio di appartenenza. Altri operatori logici non sono supportati per unire le condizioni in un criterio di appartenenza.
- Entrambi i criteri utilizzano lo stesso tipo di membro Kubernetes.
- Entrambi i criteri utilizzano una singola condizione.
- In un singolo criterio di appartenenza sono supportate al massimo cinque condizioni con lo stesso tipo di membro Kubernetes. Ad esempio, in un criterio, è possibile aggiungere al massimo cinque condizioni del servizio Kubernetes.
- In un singolo criterio di appartenenza sono supportate al massimo 15 condizioni con tipi di membri Kubernetes misti. Ad esempio, in un criterio è possibile aggiungere al massimo 15 condizioni con una combinazione di condizioni Spazio dei nomi Kubernetes e condizioni Ingress Kubernetes.
- In un gruppo generico sono supportate al massimo 35 condizioni con tipi di membri misti.
Un gruppo può avere al massimo cinque criteri di appartenenza. Tuttavia, il numero totale di criteri che è possibile aggiungere in un gruppo generico è determinato dal numero di condizioni in ciascun criterio. Vedere gli esempi seguenti.
- Esempio 1
-
Un gruppo generico con tre criteri di appartenenza e un totale di 35 condizioni:
- Il criterio 1 ha 15 condizioni con tipi di membri misti.
- Il criterio 2 ha 15 condizioni con tipi di membri misti.
- Il criterio 3 ha 5 condizioni con lo stesso tipo di membro.
- Esempio 2
-
Un gruppo generico con quattro criteri di appartenenza e un totale di 35 condizioni:
- Il criterio 1 ha 15 condizioni con tipi di membri misti.
- Il criterio 2 ha 14 condizioni con tipi di membri misti.
- Il criterio 3 ha quattro condizioni con lo stesso tipo di membro.
- Il criterio 4 ha due condizioni con lo stesso tipo di membro.
- Esempio 3
-
Un gruppo generico con cinque criteri di appartenenza e un totale di 22 condizioni:
- Il criterio 1 ha 10 condizioni con tipi di membri misti.
- Il criterio 2 ha tre condizioni con lo stesso tipo di membro.
- Il criterio 3 ha quattro condizioni con lo stesso tipo di membro.
- Il criterio 4 ha tre condizioni con lo stesso tipo di membro.
- Il criterio 5 ha due condizioni con tipi di membri misti.
Poiché questo gruppo ha raggiunto il limite di cinque criteri, non è possibile aggiungere un altro criterio di appartenenza. Se necessario, è tuttavia possibile aggiungere altre condizioni in uno dei cinque criteri finché non si superano i seguenti limiti superiori indicati in precedenza:- Al massimo cinque condizioni con lo stesso tipo di membro in un singolo criterio.
- Al massimo 15 condizioni con tipi di membri misti in un singolo criterio.
- Un totale di 35 condizioni nel gruppo generico.
Limitazioni per l'utilizzo dei tipi di membri Kubernetes in un criterio
La tabella seguente fornisce un riepilogo generale delle limitazioni o delle convalide che si applicano all'utilizzo dei tipi di membri Kubernetes in un singolo criterio di appartenenza. Per esempi di convalide, vedere la sezione Convalide per il raggruppamento dinamico con tipi di membro Kubernetes più avanti in questa documentazione.
Tipo di membro | Limitazioni per l'utilizzo del tipo di membro in un criterio | Attributi supportati | Operatore tag | Operatore ambito |
---|---|---|---|---|
Cluster Kubernetes |
Non può essere utilizzato da solo in un criterio. In un criterio è consentita una sola condizione cluster. Deve essere combinato con almeno una condizione risorse Kubernetes. Facoltativamente, può essere combinato con le condizioni dello Spazio dei nomi Kubernetes e le condizioni risorse Kubernetes. |
Nome |
Non supportato |
Non supportato |
Spazio dei nomi Kubernetes |
Non può essere utilizzato da solo in un criterio. Non può essere combinato con le condizioni risorse con ambito cluster. Deve essere combinato con le condizioni risorse con ambito spazio dei nomi. Facoltativamente, può essere combinato con una condizione cluster Kubernetes. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Uscita Antrea |
Può essere utilizzato da solo in un criterio. Facoltativamente, può essere combinato con una condizione cluster Kubernetes. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Pool IP Antrea |
Può essere utilizzato da solo in un criterio. Facoltativamente, può essere combinato con una condizione cluster Kubernetes. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Ingresso Kubernetes |
Può essere utilizzato da solo in un criterio. Facoltativamente, può essere combinato solo con condizioni spazio dei nomi Kubernetes, con solo una condizione cluster Kubernetes o con entrambe. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Gateway Kubernetes |
Può essere utilizzato da solo in un criterio. Facoltativamente, può essere combinato solo con condizioni spazio dei nomi Kubernetes, con solo una condizione cluster Kubernetes o con entrambe. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Servizio Kubernetes |
Può essere utilizzato da solo in un criterio. Facoltativamente, può essere combinato solo con condizioni spazio dei nomi Kubernetes, con solo una condizione cluster Kubernetes o con entrambe. |
Nome Tag |
Uguale a - è possibile selezionare un solo tag |
Uguale a |
Nodo Kubernetes |
Può essere utilizzato da solo in un criterio. È consentita una sola condizione a nodo singolo. Facoltativamente, può essere combinato con una condizione cluster Kubernetes. Non può essere combinato con le condizioni spazio dei nomi Kubernetes o le condizioni risorse Kubernetes. |
Indirizzo IP CIDR pod |
Non supportato Vedere la Nota successiva a questa tabella. |
Non supportato |
Convalide per il raggruppamento dinamico con tipi di membro Kubernetes
- Convalida 1
-
Un criterio di appartenenza può avere al massimo una condizione Cluster Kubernetes. Per associare un singolo cluster Kubernetes in base al nome, utilizzare l'operatore Uguale a e immettere il nome del cluster.Nota: Il nome del cluster Kubernetes deve essere univoco.Se si desidera associare più cluster in una singola condizione Cluster Kubernetes, è possibile utilizzare uno di questi operatori:
- In
- Inizia con
- Termina con
Esempio:
Corrisponde a un singolo cluster K8s Corrisponde a più cluster K8s Criterio: Nome cluster Kubernetes uguale a ClusterA
Criterio: Nome cluster Kubernetes in ClusterA,ClusterB,ClusterC
Sono consentiti al massimo cinque valori separati da virgole. I valori non devono essere separati da spazi.
- Convalida 2
-
Un criterio di appartenenza con una condizione Cluster Kubernetes può essere mescolato con una qualsiasi delle condizioni risorse Kubernetes. Se si aggiungono anche condizioni Spazio dei nomi Kubernetes nello stesso criterio, le condizioni risorse devono essere limitate solo alle condizioni risorse nell'ambito dello spazio dei nomi.
Esempi:- Un criterio di appartenenza con una condizione cluster Kubernetes e tre condizioni Ingresso Kubernetes è valido.
- Un criterio di appartenenza con una condizione cluster Kubernetes e due condizioni Uscita Antrea è valido.
- Un criterio di appartenenza con una condizione cluster Kubernetes e tre condizioni Pool di IP Antrea è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes, una condizione Spazio dei nomi Kubernetes e tre condizioni Gateway Kubernetes è valido.
- Convalida 3
-
Un criterio di appartenenza deve includere almeno una condizione di risorsa Kubernetes. Un criterio di appartenenza non è valido se contiene:
- Solo condizione Cluster Kubernetes
- Solo condizione Spazio dei nomi Kubernetes
- Solo condizione Cluster Kubernetes e Spazio dei nomi Kubernetes
Esempi:- Un criterio di appartenenza con una condizione Cluster Kubernetes, una condizione Spazio dei nomi Kubernetes e una condizione Ingresso Kubernetes è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes, due condizioni Spazio dei nomi Kubernetes e due condizioni Ingresso Kubernetes è valido.
- Convalida 4
-
Un criterio di appartenenza può avere una sola condizione di nodo Kubernetes. Facoltativamente, una condizione Nodo Kubernetes può essere combinata solo con una condizione Cluster Kubernetes.
Una condizione Nodo Kubernetes non può essere combinata con le condizioni Spazio dei nomi Kubernetes o con le condizioni risorse Kubernetes.
Un criterio di appartenenza con solo una condizione Nodo Kubernetes può essere autonomo. Tuttavia, un gruppo con solo una condizione Nodo Kubernetes corrisponderà ai nodi di tutti i cluster Kubernetes Antrea registrati in NSX.
L'operatore Tag e l'operatore Ambito non sono attualmente supportati per la condizione Nodo Kubernetes.
La condizione Nodo Kubernetes supporta le due proprietà seguenti.
Proprietà Descrizione Indirizzo IP
Corrisponde all'indirizzo IP interno di tutti i nodi dei cluster Kubernetes Antrea specificati.
CIDR pod
Corrisponde al CIDR del pod di tutti i nodi dei cluster Kubernetes Antrea specificati.
- Convalida 5
-
Se un criterio di appartenenza include la condizione Cluster Kubernetes e le condizioni Spazio dei nomi Kubernetes, deve includere almeno una condizione risorse Kubernetes con ambito dello spazio dei nomi. Non è possibile combinare una delle seguenti condizioni risorse Kubernetes di ambito cluster nello stesso criterio:
- Uscita Antrea
- Pool di IP Antrea
- Nodo Kubernetes
Esempi:- Un criterio di appartenenza con una condizione Cluster Kubernetes, due condizioni Spazio dei nomi Kubernetes e condizioni Gateway Kubernetes è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes, due condizioni Spazio dei nomi Kubernetes e quattro condizioni Servizio Kubernetes è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes. una condizione Spazio dei nomi Kubernetes e una condizione Uscita Antrea non è valida perché Uscita Antrea è una risorsa nell'ambito cluster.
- Convalida 6
-
Un criterio di appartenenza deve includere almeno una condizione di risorsa Kubernetes. Una condizione risorse può essere autonoma in un criterio. Tuttavia, se si aggiungono più condizioni risorse in un criterio, tutte le condizioni risorse devono essere dello stesso tipo di membro.Nota: Le condizioni Cluster Kubernetes e Spazio dei nomi Kubernetes vengono utilizzate per definire l'ambito di un criterio. Non sono condizioni risorse Kubernetes e quindi non sono limitate da questa regola di convalida.Esempi:
- Un criterio di appartenenza con cinque condizioni Servizio Kubernetes è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes, tre condizioni Spazio dei nomi Kubernetes e quattro condizioni Servizio Kubernetes è valido.
- Un criterio di appartenenza con una condizione Cluster Kubernetes, tre condizioni Spazio dei nomi Kubernetes, quattro condizioni Servizio Kubernetes e tre condizioni Ingresso Kubernetes non è valido. Il motivo è che si mescolano condizioni risorse di due tipi di membri diversi (Servizio Kubernetes e Ingresso Kubernetes) nello stesso criterio.
Tuttavia, è possibile creare criteri separati con una condizione risorse basata su un singolo tipo di membro e quindi unire entrambi i criteri con un operatore OR, come illustrato di seguito:
Criterio 1:
una condizione Cluster Kubernetes + tre condizioni Spazio dei nomi Kubernetes + quattro condizioni Servizio Kubernetes
OR
Criterio 2:
una condizione Cluster Kubernetes + tre condizioni Spazio dei nomi Kubernetes + tre condizioni Ingresso Kubernetes
- Convalida 7
-
In un singolo criterio di appartenenza, le condizioni basate sui tipi di membri NSX non possono essere combinate con le condizioni basate sui tipi di membri Kubernetes. Tuttavia, è possibile disporre di un gruppo con un criterio basato solo sui tipi di membri NSX e un altro criterio basato solo su tipi di membri Kubernetes e quindi unire entrambi i criteri con un operatore OR.
Esempio:
Valida Non valido Criterio 1:
Condizioni della macchina virtuale
OR
Criterio 2:
Condizione Cluster Kubernetes + condizioni Gateway Kubernetes
Criterio:
Condizione Segmento NSX + condizione Porta segmento
AND
Condizione Cluster Kubernetes + condizioni Gateway Kubernetes
Membri effettivi per le condizioni con tipi di membri Kubernetes
Da un punto di vista NSX, i membri effettivi per i gruppi con tipi di membri Kubernetes sono indirizzi IP discreti, intervalli di IP o elenchi di indirizzi IP e porte.
La seguente tabella fornisce alcuni esempi.
Esempio di definizione gruppo | Caso d'uso | Descrizione | Membri effettivi |
---|---|---|---|
Condizione cluster Kubernetes AND Condizione del nodo Kubernetes (in base all'indirizzo IP) |
Traffico da cluster Kubernetes Antrea a NSX |
Corrisponde a tutti gli indirizzi IP dei nodi nei cluster specificati |
Indirizzi IP |
Condizione cluster Kubernetes AND Condizione del nodo Kubernetes (in base al CIDR del pod) |
Traffico da cluster Kubernetes Antrea a NSX | Corrisponde ai CIDR dei pod di tutti i nodi nei cluster specificati |
CIDR pod |
Condizione cluster Kubernetes AND Condizione di uscita Antrea (in base al nome) |
Traffico da cluster Kubernetes Antrea a NSX |
Corrisponde all'uscita in base al nome nei cluster specificati |
Indirizzi IP di uscita |
Condizione cluster Kubernetes AND Condizione di uscita Antrea (in base al tag) AND Altre condizioni di uscita Antrea (in base al tag) |
Traffico da cluster Kubernetes Antrea a NSX |
Corrisponde all'uscita in base ai tag nei cluster specificati. |
Indirizzi IP di uscita |
Condizione cluster Kubernetes AND Condizione del pool di IP Antrea (in base al nome) |
Traffico da cluster Kubernetes Antrea a NSX Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde al pool di IP in base al nome nei cluster specificati | Intervalli IP |
Condizione cluster Kubernetes AND Condizione del pool di IP Antrea (in base al tag) AND Ulteriori condizioni del pool di IP Antrea (in base ai tag) |
Traffico da cluster Kubernetes Antrea a NSX Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde ai pool di IP in base ai tag nei cluster specificati |
Intervalli IP |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione Ingress Kubernetes (in base al nome) |
Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde all'ingresso in base al nome nei cluster e nello spazio dei nomi specificati |
Indirizzi IP in ingresso |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione gateway Kubernetes (in base al nome) |
Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde al gateway in base al nome nei cluster e nello spazio dei nomi specificati | Indirizzi IP gateway |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione Ingress Kubernetes (in base al tag) AND Altre condizioni Ingress Kubernetes (in base ai tag) |
Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde all'ingresso in base ai tag nei cluster e nello spazio dei nomi specificati |
Indirizzi IP in ingresso |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione gateway Kubernetes (in base al tag) AND Altre condizioni gateway Kubernetes (in base ai tag) |
Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde al gateway in base ai tag nei cluster e nello spazio dei nomi specificati | Indirizzi IP gateway |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione del servizio Kubernetes (in base a tag e type=LoadBalancer) AND Altre condizioni del servizio Kubernetes (in base ai tag e type=LoadBalancer) |
Traffico da NSX a cluster Kubernetes Antrea |
Corrisponde al servizio (LoadBalancer) in base ai tag nei cluster e nello spazio dei nomi specificati |
Indirizzi IP di ingresso LoadBalancer |
Condizione cluster Kubernetes AND Condizione spazio dei nomi Kubernetes AND Condizione del servizio Kubernetes (in base al nome, type=ClusterIP e funzionalità NodePortLocal abilitata) |
Traffico da NSX a cluster Kubernetes Antrea | Corrisponde al servizio (ClusterIP con NodePortLocal abilitata) in base al nome nei cluster e nello spazio dei nomi specificati. | Indirizzi IP dei nodi, intervallo NodePortLocal |