Questo documento spiega come configurare una comunicazione affidabile assegnando uno o più indirizzi IP permanenti a pod specifici nei cluster Google Kubernetes Engine (GKE). Per le applicazioni che richiedono alta disponibilità, puoi anche configurare questi indirizzi IP permanenti per supportare il failover rapido.
In alcuni casi, se esegui una soluzione NAT (Network Address Translation) personalizzata, potresti volere un indirizzo IP statico permanente sia per le connessioni in uscita che in entrata, sia quando la soluzione NAT avvia la connessione sia quando la riceve. Potresti anche voler controllare gli indirizzi IP assegnati all'applicazione per gestire il modo in cui interagisce con altri sistemi o come gestisce tipi specifici di richieste in base ai requisiti aziendali.
Per impostazione predefinita, il pod utilizza gli indirizzi IP dell'interfaccia per il traffico in uscita. Gli indirizzi IP dell'interfaccia cambiano quando il pod viene riavviato o spostato. Per avere un maggiore controllo sulla comunicazione di routing, puoi configurare manualmente gli indirizzi IP permanenti per i tuoi pod in GKE.
Questi indirizzi IP possono essere indirizzi IP esterni per comunicare su internet o indirizzi IP interni per comunicare all'interno della tua rete Google Cloud. Puoi utilizzare gli indirizzi IP forniti da Google o portare i tuoi indirizzi IP (BYOIP).
Configurando indirizzi IP permanenti per i pod in GKE, puoi mappare la logica aziendale e dell'applicazione per consentire a pod specifici di inviare e ricevere traffico da o verso uno qualsiasi degli indirizzi IP permanenti.
Il seguente diagramma mostra come un pod con più interfacce di rete può utilizzare un indirizzo IP permanente da una rete secondaria continuando a comunicare sulla rete predefinita:
Terminologia e concetti
Questa pagina utilizza i seguenti concetti:
Classi di gateway
Le classi gateway, che gestiscono le assegnazioni di indirizzi IP permanenti, sono disponibili nelle seguenti classi:
- gke-persistent-regional-external-managed per gli indirizzi IP esterni
- gke-persistent-regional-internal-managed per gli indirizzi IP interni (soloGoogle Cloud)
- gke-persistent-fast-regional-external-managed per indirizzi IP esterni con failover rapido
gke-persistent-fast-regional-internal-managed per indirizzi IP interni (solo Google Cloud) con failover rapido
Le classi di gateway funzionano in regioni specifiche. Le classi gateway offrono la gestione di base degli indirizzi IP e sono incentrate sul routing di rete di livello 3 (L3).
Oggetti gateway
Gli oggetti Gateway fungono da punto centrale per la gestione e la configurazione
di indirizzi IP permanenti. Gli oggetti Gateway in GKE gestiscono un pool
di indirizzi IP permanenti. Elencano questi indirizzi e definiscono regole per la modalità di assegnazione
di questi indirizzi IP a GKEIPRoute.
Listener
Un listener fa parte della configurazione di GKE Gateway che controlla quali pod negli spazi dei nomi Gateway possono utilizzare gli indirizzi IP permanenti detenuti dal gateway. L'ascoltatore ti consente di personalizzare l'accesso per garantire flessibilità e sicurezza. Ogni listener deve avere un nome univoco e consente di filtrare l'accesso per spazio dei nomi (tutti, in base all'etichetta o solo lo spazio dei nomi del gateway).
Oggetto GKEIPRoute
L'oggetto GKEIPRoute è una risorsa personalizzata che configuri per
assegnare un indirizzo IP permanente a un pod specifico nel tuo cluster GKE. Puoi utilizzare la sezione di stato dell'oggetto GKEIPRoute per monitorare
la configurazione dell'indirizzo IP persistente, che fornisce informazioni chiave tramite i
seguenti campi:
Pod
Il campo Pod mostra il nome esatto del pod collegato agli indirizzi IP persistenti. Un singolo pod può utilizzare più indirizzi IP permanenti.
Condizioni
Il campo Condizioni indica se la configurazione dell'indirizzo IP esterno funziona correttamente e può anche aiutarti a diagnosticare i problemi se la configurazione non è valida. Esistono quattro condizioni:
Accepted:indica se la specifica della risorsaGKEIPRouteè valida. Se la configurazione presenta errori, la condizioneAcceptedèFalsecon un motivo.GCPReady: indica che Google Cloud ha preparato tutte le risorse necessarie. Gli errori durante il processo di provisioning della risorsa Google Cloud si riflettono nello stato della condizioneGCPReady.DPV2Ready:indica lo stato della programmazione del datapath, ad esempio il datapath è pronto e programmato per consentire le connessioni di rete sugli indirizzi IP permanenti configurati.Ready: indica che la configurazione dell'indirizzo IP permanente è valida e funzionale. I pod sono raggiungibili sugli indirizzi IP permanenti forniti se hai configurato l'applicazione per utilizzarli. Questa impostazione è impostata suTruequando anche le altre tre condizioni precedenti sonoTrue.
nodeSelectorQuando utilizzi il failover rapido, devi utilizzare il campo
nodeSelectorper specificare quali nodi sono preconfigurati per il failover rapido. In questo modo, quando si verifica un failover, puoi mettere rapidamente online il nuovo pod su un nodo designato con l'indirizzo IP permanente. Devi assicurarti di pianificare i tuoi pod con indirizzi IP permanenti su questi nodi. In genere, questa operazione viene eseguita utilizzandonodeSelectordel pod per trovare le etichette sui nodi. Utilizza il camponodeSelectorquando configuri il failover rapido e assicurati che le etichette specificate non selezionino più di 64 nodi.
Modalità di reazione
Le modalità di reazione determinano il comportamento del sistema quando il pod collegato a un indirizzo IP permanente subisce modifiche, ad esempio lo spostamento tra i nodi o quando un pod corrispondente appena creato diventa disponibile. Puoi utilizzare le modalità di reazione per mantenere utilizzabili i tuoi indirizzi IP permanenti anche quando i tuoi pod cambiano.
Le modalità di reazione sono una delle seguenti:
ReadyCondition
In modalità ReadyCondition, il sistema di indirizzi IP permanenti dà la priorità all'integrità dei pod. Il sistema di indirizzi IP permanenti assegna indirizzi IP solo ai pod che corrispondono alle etichette specificate e hanno superato i probe di integrità di Kubernetes, segnalando il loro stato
ReadycomeTrue. Questa modalità è ideale per le applicazioni in cui è fondamentale che il pod che riceve l'indirizzo IP permanente sia completamente preparato a gestire il traffico in entrata e in uscita.Esiste
La modalità Esiste dà la priorità alla presenza di un pod. L'indirizzo IP persistente viene collegato a un pod se questo corrisponde alle etichette nella configurazione ed è stato pianificato su un nodo specifico del cluster. Ciò significa che il pod esiste e ha un luogo designato per l'esecuzione. Questa modalità è adatta a scenari in cui l'assegnazione rapida dell'indirizzo IP persistente ha la priorità rispetto alla disponibilità rigorosa o in ambienti come lo sviluppo e il test in cui la connettività immediata potrebbe essere più importante della piena integrità dell'applicazione.
StatefulSets
Gli oggetti StatefulSets sono un tipo di workload Kubernetes progettato per le applicazioni che hanno bisogno di identificatori stabili e spazio di archiviazione permanente. I pod all'interno di uno StatefulSet hanno nomi prevedibili (ad esempio: my-app-0, my-app-1).
Deployment
I deployment sono un tipo di workload Kubernetes per la gestione di applicazioni senza stato in cui i pod sono generalmente intercambiabili. I nomi dei pod all'interno dei deployment non sono completamente prevedibili.
Casi d'uso
Gli indirizzi IP permanenti per i pod GKE riguardano diversi casi d'uso per i fornitori di servizi di rete e sicurezza che eseguono applicazioni correlate alla rete su GKE.
Gli indirizzi IP permanenti per i pod GKE riguardano i seguenti casi d'uso:
- Controllo di NAT: assegnando indirizzi IP permanenti ai pod che eseguono funzioni di rete, ottieni un controllo granulare sugli indirizzi IP di origine utilizzati per il traffico in uscita. In questo modo puoi integrare la tua logica NAT proprietaria.
- Pool di indirizzi IP dedicati: gli indirizzi IP dedicati ti consentono di abbinare indirizzi specifici a singoli pod 5G Core, garantendo la compatibilità con software di fornitori specializzati.
- Flussi di traffico affidabili:poiché il traffico di ritorno deve essere reindirizzato tramite la stessa funzione di rete, gli indirizzi IP permanenti garantiscono che i sistemi esterni riconoscano e rispondano al pod corretto senza interruzioni della comunicazione.
- Alta disponibilità per applicazioni sensibili al tempo:per le applicazioni con requisiti di uptime rigorosi, ad esempio nel settore delle telecomunicazioni, puoi utilizzare indirizzi IP permanenti con failover rapido per reindirizzare rapidamente il traffico a un pod integro in caso di errore, il che può ridurre al minimo il tempo di inattività a pochi secondi.
Vantaggi
Gli indirizzi IP permanenti per i pod GKE offrono i seguenti vantaggi:
- Identità esterna:se assegni a un pod un indirizzo IP permanente esterno, i sistemi esterni possono raggiungere in modo coerente quel pod, anche se viene riavviato o spostato all'interno del cluster. Ciò è utile per i servizi che richiedono un endpoint rilevabile esternamente.
- Comunicazione affidabile:le applicazioni che dipendono da altre risorse con indirizzi IP specifici possono stabilire connessioni in modo affidabile utilizzando indirizzi IP persistenti. Gli indirizzi IP permanenti sono importanti per i sistemi o le applicazioni legacy con dipendenze di indirizzi IP hardcoded.
- Migrazioni legacy: le migrazioni legacy possono aiutarti a eseguire la migrazione delle applicazioni che si basano su indirizzi IP specifici durante il processo di transizione.
- BYOIP: BYOIP ti consente di mantenere il controllo su intervalli di indirizzi IP specifici di tua proprietà utilizzandoli all'interno dei cluster GKE.
- Uptime delle applicazioni migliorato: grazie alla funzionalità di failover rapido, puoi migliorare significativamente l'uptime delle tue applicazioni critiche riducendo il downtime a pochi secondi in caso di errore del pod.
Passaggi successivi
- Controllare la comunicazione con gli indirizzi IP permanenti sui pod GKE
- Leggi Informazioni sul supporto di più reti per i pod
- Leggi Configura il supporto di più reti per i pod