Questa pagina fornisce una panoramica di cosa fa e come funziona GKE Dataplane V2.
Prima di leggere questa pagina, assicurati di acquisire familiarità con networking all'interno di cluster GKE.
Panoramica di GKE Dataplane V2
GKE Dataplane V2 è un piano dati ottimizzato per il networking di Kubernetes. GKE Dataplane V2 fornisce:
- Un'esperienza utente coerente per il networking.
- Visibilità in tempo reale dell'attività di rete.
- Un'architettura più semplice che semplifica la gestione e la risoluzione dei problemi dei cluster.
GKE Dataplane V2 è abilitato per impostazione predefinita per tutti i nuovi cluster Autopilot.
Come funziona GKE Dataplane V2
GKE Dataplane V2 viene implementato utilizzando
eBPF.
Quando i pacchetti arrivano a un nodo GKE, i programmi eBPF installati
il kernel decide come instradare ed elaborare i pacchetti. A differenza dell'elaborazione dei pacchetti
con iptables
, eBPF
possono utilizzare metadati specifici di Kubernetes nel pacchetto. In questo modo, GKE Dataplane V2 può elaborare i pacchetti di rete nel kernel in modo più efficiente e segnalare le azioni annotate allo spazio utente per il logging.
Il seguente diagramma mostra il percorso di un pacchetto attraverso un nodo utilizzando GKE Dataplane V2:
GKE esegue il deployment del controller GKE Dataplane V2 come
DaemonSet
denominato anetd
per ogni nodo nel cluster. anetd
interpreta gli oggetti Kubernetes
e programma le topologie di rete in eBPF. I pod anetd
vengono eseguiti nello spazio dei nomi kube-system
.
GKE Dataplane V2 e NetworkPolicy
GKE Dataplane V2 viene implementato utilizzando Cilium. L'eredità Dataplane per GKE viene implementato Calico.
Entrambe queste tecnologie gestiscono NetworkPolicy di Kubernetes.
Cilium utilizza eBPF, mentre la Calico Container Network Interface (CNI) utilizza
iptables
nel kernel Linux.
Vantaggi di GKE Dataplane V2
Scalabilità
GKE Dataplane V2 ha caratteristiche di scalabilità diverse rispetto ai dati legacy aereo.
Per le versioni GKE in cui GKE Dataplane V2
non utilizza kube-proxy
e non si basa su iptables
per il routing dei servizi, GKE rimuove
alcuni colli di bottiglia correlati a iptables
, come il numero di Servizi.
GKE Dataplane V2 si basa su mappe eBPF limitate a 260.000 endpoint in tutti i servizi.
Sicurezza
Il criterio di rete Kubernetes è sempre attivo nei cluster con GKE Dataplane V2. Per applicare i criteri di rete, non è necessario installare e gestire componenti aggiuntivi software di terze parti come Calico.
Operazioni
Quando crei un cluster con GKE Dataplane V2, il logging dei criteri di rete è integrato. Configura il record CRD di logging sul tuo cluster per vedere quando le connessioni sono consentite e negate dai pod.
Coerenza
GKE Dataplane V2 offre un'esperienza di networking coerente.
Per maggiori informazioni le informazioni, vedi Disponibilità di GKE Dataplane V2.
Specifiche tecniche di GKE Dataplane V2
GKE Dataplane V2 supporta i cluster con le seguenti specifiche:
Specifica | GKE | GDC (solo software) su VMware | GDC (solo software) su bare metal |
---|---|---|---|
Numero di nodi per cluster | 7.500 | 500 | 500 |
Numero di pod per cluster | 200.000 | 15.000 | 27.500 |
Numero di pod dietro un servizio | 10.000 | 1000 | 1000 |
Numero di servizi IP del cluster | 10.000 | 1000 | 1000 |
Numero di servizi LoadBalancer per cluster | 750 | 500 | 1000 |
GKE Dataplane V2 mantiene una mappa dei servizi per tenere traccia dei servizi a cui fanno riferimento quali pod come backend. Il numero di backend dei pod per ogni servizio, sommato di tutti i Servizi devono rientrare tutti nella mappa dei Servizi, che può contenere fino a: 260.000 voci. Se questo limite viene superato, il cluster potrebbe non funzionare come previsto.
Aumento del limite di nodi a 7500 nella versione 1.31
A partire dalle versioni 1.31 di Kubernetes, il limite di 5000 nodi per cluster GKE Dataplane V2 è stato aumentato a 7500. Si applicano ancora le condizioni precedentemente imposte ai cluster (limite di 5000 nodi).
Aumento del limite di nodi a 5000 nella versione 1.23
A partire dalle versioni di Kubernetes 1.23, il limite di 500 nodi per Il cluster GKE Dataplane V2 è stato portato a 5000, con quanto segue condizioni aggiuntive imposte ai cluster:
- Cluster privati o cluster pubblici che utilizzano Private Service Connect. Per verificare se il cluster utilizza Private Service Connect, consulta Cluster pubblici con Private Service Connect.
- Solo cluster a livello di regione
- Solo i cluster creati con GKE versione 1.23 o successive hanno un aumentato il limite di 5000 nodi. Cluster creati con le versioni precedenti di GKE potrebbero richiedere l'aumento della quota per le dimensioni del cluster. Contatta l'assistenza per ricevere aiuto.
- Cluster che utilizzano CRD Cilium (CiliumNetworkPolicy e CiliumClusterwideNetworkPolicy) non è in grado di scalare a 5000 nodi.
Servizi LoadBalancer in Google Distributed Cloud
Il numero di servizi LoadBalancer supportati in Google Distributed Cloud dipende dalla modalità del bilanciatore del carico in uso. Google Distributed Cloud supporta 500 servizi LoadBalancer se utilizzi la modalità di bilanciamento del carico in bundle (Seesaw) e 250 se utilizzi la modalità di bilanciamento del carico integrata con F5. Per ulteriori informazioni, consulta Scalabilità.
Limitazioni
GKE Dataplane V2 ha le seguenti limitazioni:
- GKE Dataplane V2 può essere abilitato solo quando si crea un nuovo cluster. Esistente non è possibile eseguire l'upgrade dei cluster per utilizzare GKE Dataplane V2.
- Nelle versioni di GKE precedenti alla 1.20.12-gke.500, se attivi GKE Dataplane V2 con NodeLocal DNSCache, non puoi configurare i pod con
dnsPolicy: ClusterFirstWithHostNet
, altrimenti i pod riscontreranno errori di risoluzione DNS. - A partire dalla versione GKE 1.21.5-gke.1300, GKE Dataplane V2 non supporta le API CRD CiliumNetworkPolicy o CiliumClusterwideNetworkPolicy. In fase di avvio nelle versioni GKE 1.28.6-gke.1095000 e 1.29.1-gke.1016000, può abilitare CiliumClusterwideNetworkPolicy su cluster nuovi o esistenti.
- I bilanciatori del carico di rete passthrough interni creati manualmente associati a un servizio di tipo NodePort non sono supportati.
- Poiché GKE Dataplane V2 ottimizza l'elaborazione dei pacchetti del kernel eBPF utilizzando eBPF, le prestazioni dei pod potrebbero essere interessate se i tuoi carichi di lavoro hanno un alto turnover dei pod. L'obiettivo principale di GKE Dataplane V2 è ottenere un eBPF ottimale.
- Esiste un problema noto con i servizi multi-cluster con più porte (TCP/UDP) su GKE Dataplane V2. Per ulteriori informazioni, consulta Servizi MCS con più porte.
- GKE Dataplane V2 utilizza
cilium
anzichékube-proxy
per implementare i servizi Kubernetes.kube-proxy
è gestito e sviluppato dalla community Kubernetes, pertanto è più probabile che le nuove funzionalità per i servizi vengano implementate inkube-proxy
prima che vengano implementate incilium
per GKE Dataplane V2. Un esempio di funzionalità di Servizi implementata per la prima volta inkube-proxy
è KEP-1669: endpoint di terminazione proxy. - Per i servizi NodePort che eseguono la versione 1.25 o precedente e utilizzano gli intervalli SNAT e PUPI predefiniti, devi aggiungere l'intervallo PUPI dei pod in
nonMasqueradeCIDRs
nel ConfigMapip-masq-agent
per evitare problemi di connettività. - In alcuni casi, i pod dell'agente GKE Dataplane V2 (
anetd
) possono consumare una quantità significativa di risorse CPU, fino a due o tre vCPU per istanza. Questo si verifica quando c'è un volume elevato di connessioni TCP aperte rapidamente sul nodo. Per limitare il problema, consigliamo l'implementazione di keep-alive per le chiamate HTTP e il pooling di connessioni per carichi di lavoro pertinenti. - I cluster GKE Dataplane V2 che eseguono la versione 1.27 o precedenti del piano di controllo non supportano il campo Servizio
.spec.internalTrafficPolicy
. L'efficace il criterio del traffico interno per un servizio èCluster
. su qualsiasi nodo considerati candidati per la risoluzione del Servizio. Per ulteriori informazioni sul consulta Norme sul traffico interno dei servizi.
GKE Dataplane V2 e kube-proxy
GKE Dataplane V2 non utilizza kube-proxy tranne che nei pool di nodi Windows Server nelle versioni GKE 1.25 e precedenti.
Applicazione dei criteri di rete senza GKE Dataplane V2
Consulta: Utilizzare l'applicazione dei criteri di rete per istruzioni su come abilitare l'applicazione dei criteri di rete nei cluster che non utilizzano GKE Dataplane V2.
Passaggi successivi
- Leggi Utilizzo di GKE Dataplane V2.
- Scopri di più sull'osservabilità di GKE Dataplane V2.
- Scopri come utilizzare il logging dei criteri di rete.