Questa pagina mostra come implementare indirizzi IP permanenti nei pod Google Kubernetes Engine (GKE). Puoi controllare il networking dei pod GKE con il mapping personalizzato degli indirizzi IP permanenti. Per saperne di più sugli indirizzi IP permanenti, sui loro casi d'uso e sui vantaggi, consulta Informazioni sugli indirizzi IP permanenti per i pod GKE.
Requisiti
- GKE 1.31 o versioni successive.
- Scegli se prenotare gli indirizzi IP forniti da Google o utilizzare i tuoi indirizzi IP (BYOIP).
- Configura l'applicazione in esecuzione all'interno dei pod in modo che riconosca e utilizzi gli indirizzi IP permanenti assegnati.
- Gli indirizzi IP permanenti per i pod GKE richiedono cluster con GKE Dataplane V2 e API Gateway abilitate.
Limitazioni
- Devi configurare le tue applicazioni in modo che utilizzino gli indirizzi IP persistenti assegnati. GKE non aggiunge automaticamente la configurazione dell'indirizzo IP alle interfacce di rete del pod.
- Puoi associare ogni indirizzo IP persistente a un solo pod alla volta.
Quando sono disponibili più pod, GKE in genere invia il traffico al pod corrispondente più recente. Tuttavia, GKE lo fa
solo se il pod più recente è integro, il che significa che il pod ha lo stato della condizione
ReadyTrueper impostazione predefinita. Puoi configurare questo comportamento e modificarlo utilizzando l'impostazionereactionModesuGKEIPRoute. - GKE supporta solo gli indirizzi IPv4 come indirizzi IP permanenti.
- GKE supporta solo reti multiple di livello 3 o di tipo dispositivo.
- Il supporto dell'alta affidabilità (HA) tramite indirizzi IP permanenti non è supportato per i casi d'uso non DPDK.
- Puoi specificare fino a 16 indirizzi IP in un singolo
GKEIPRoute. Per configurare più indirizzi, puoi creare più oggettiGKEIPRoute.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Per utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza
gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il comando
gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Scopri di più sugli indirizzi IP.
Esamina i requisiti e le limitazioni.
Implementa indirizzi IP permanenti per i pod GKE
Gli indirizzi IP permanenti in GKE offrono un modo per fornire ai pod un'identità di rete stabile, anche se i pod stessi vengono aggiornati o spostati.
Questa sezione riassume il flusso di lavoro per implementare indirizzi IP permanenti per i pod GKE:
- Crea un cluster: crea un cluster con l'API Gateway e GKE Dataplane V2.
- Prenota un indirizzo IP: decidi se hai bisogno di un indirizzo IP esterno (accessibile pubblicamente) o interno (solo Google Cloud) e prenotalo. Scegli la stessa regione del cluster GKE.
- Crea un gateway: configura l'oggetto Kubernetes Gateway che contiene
gli indirizzi IP permanenti riservati e ti consente di creare regole
(
GKEIPRoutes) su quali pod del cluster possono utilizzare questi indirizzi IP permanenti. - Crea o identifica i workload per gli indirizzi IP persistenti: se utilizzi indirizzi IP persistenti su una rete aggiuntiva, prepara i pod per l'utilizzo degli indirizzi IP persistenti abilitando più interfacce di rete e definendo la rete in cui si trovano gli indirizzi IP persistenti.
- Crea l'oggetto
GKEIPRouteper i workload selezionati: configuraGKEIPRouteper assegnare l'indirizzo IP permanente a un pod specifico. Puoi utilizzare le etichette per scegliere i pod giusti e, se vuoi, configurare il modo in cui il routing reagisce alle modifiche dei pod. - Configura Application Awareness: configura l'applicazione all'interno del pod per utilizzare attivamente l'indirizzo IP persistente.
- Monitoraggio: tieni traccia dello stato del gateway e degli oggetti
GKEIPRouteper assicurarti che tutto funzioni come previsto.
Per implementare l'indirizzo IP permanente per i pod GKE, segui questi passaggi:
Passaggio 1: crea un cluster GKE con API Gateway e GKE Dataplane V2 abilitati
Per abilitare le funzionalità avanzate di gestione dell'indirizzamento di rete e degli indirizzi IP necessarie per implementare indirizzi IP permanenti sui pod GKE, devi creare un cluster GKE Dataplane V2 nel seguente modo:
gcloud container clusters create CLUSTER_NAME \
--cluster-version=CLUSTER_VERSION \
--enable-dataplane-v2 \
--enable-ip-alias \
--gateway-api=standard
Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.CLUSTER_VERSION: la versione del cluster.
Passaggio 2: configura gli indirizzi IP permanenti
Per stabilire identità di rete affidabili per i tuoi pod e configurare indirizzi IP permanenti, devi prima acquisire indirizzi IP permanenti. Puoi scegliere tra la prenotazione di indirizzi IP forniti da Google o l'utilizzo dei tuoi (BYOIP).
Passaggio 2a: prenota gli indirizzi IP forniti da Google
Per prenotare indirizzi IP esterni, esegui questo comando:
gcloud compute addresses create ADDRESS_NAME \
--region=REGION
Sostituisci quanto segue:
ADDRESS_NAME: il nome che vuoi associare a questo indirizzo.REGION: la regione in cui vuoi prenotare questo indirizzo. Questa regione deve essere la stessa del pod a cui vuoi collegare l'indirizzo IP.Nota: devi specificare una regione quando prenoti un indirizzo IP perché le regole di forwarding, che gestiscono il routing del traffico per gli indirizzi IP permanenti, sono regionali. Per il corretto funzionamento del routing, il tuo indirizzo IP e il cluster GKE devono trovarsi nella stessa regione.
Per prenotare indirizzi IP interni, esegui questo comando:
gcloud compute addresses create ADDRESS_NAME \
--region REGION
--subnet SUBNETWORK \
--addresses IP_ADDRESS
Sostituisci quanto segue:
ADDRESS_NAME: i nomi di uno o più indirizzi che vuoi prenotare. In caso di più indirizzi, specifica tutti gli indirizzi come elenco, separati da spazi. Ad esempio, example-address-1 example-address-2 example-address-3REGION: la regione per questa richiesta.SUBNETWORK: la subnet per questo indirizzo IPv4 interno.
Per garantire che il traffico venga instradato correttamente all'interno della tua rete privata, gli indirizzi IP interni devono appartenere alla subnet predefinita del cluster o alla subnet di rete aggiuntiva.
Per saperne di più sugli indirizzi IP esterni e interni o per scoprire come prenotare indirizzi utilizzando la console, consulta Prenota un indirizzo IP esterno statico e Prenota un indirizzo IP interno statico.
Passaggio 2b: Bring Your Own IP (BYOIP)
Puoi utilizzare i tuoi indirizzi IP (BYOIP) anziché affidarti a quelli forniti da Google. BYOIP è utile se hai bisogno di indirizzi IP specifici per le tue applicazioni o se stai spostando sistemi esistenti in Google Cloud. Per utilizzare BYOIP, Google verifica che l'intervallo di indirizzi IP sia di tua proprietà e, dopo l'importazione degli indirizzi IP in Google Cloud, puoi assegnarli come indirizzi IP permanenti per i pod GKE. Per saperne di più, consulta Bring Your Own IP.
Passaggio 3: crea gli oggetti Gateway
Gli oggetti del gateway contengono gli indirizzi IP e definiscono quali pod sono idonei a utilizzarli. Per controllare la modalità di assegnazione degli indirizzi IP persistenti ai tuoi pod GKE, utilizzerai gli oggetti Gateway.
- Crea un oggetto Kubernetes Gateway della classe appropriata:
gke-persistent-regional-external-managedper indirizzi IP esterni (pubblici).gke-persistent-regional-internal-managedper gli indirizzi IP interni (soloGoogle Cloud).gke-persistent-fast-regional-external-managedper gli indirizzi IP esterni con failover rapido.gke-persistent-fast-regional-internal-managedper gli indirizzi IP interni (solo Google Cloud) con failover rapido.
- Nella sezione degli indirizzi del gateway, elenca gli indirizzi IP permanenti (forniti da Google o BYOIP) gestiti da questo gateway.
Utilizza la sezione
Listenersper determinare quali pod (e i relativi oggettiGKEIPRoute) possono potenzialmente utilizzare gli indirizzi IP del gateway.Listenersfunge da filtro in base allo spazio dei nomi diGKEIPRoutein cui esiste un oggettoGKEIPRoute.Puoi scegliere tra le seguenti opzioni di selezione dello spazio dei nomi Kubernetes:
- Tutti gli spazi dei nomi: qualsiasi
GKEIPRoutenel cluster. - Selettore:
GKEIPRoutenegli spazi dei nomi diGKEIPRoutecorrispondenti a un'etichetta specifica. - Stesso spazio dei nomi: solo
GKEIPRoutesall'interno dello stesso spazio dei nomi diGKEIPRoutedel gateway.
- Tutti gli spazi dei nomi: qualsiasi
Il seguente esempio fornisce l'accesso a livello di cluster agli indirizzi IP esterni permanenti, consentendo a qualsiasi pod di utilizzarli potenzialmente.
Salva il seguente manifest di esempio come allowed-pod-ips.yaml:
kind: Gateway
apiVersion: gateway.networking.k8s.io/v1
metadata:
namespace: default
name: allowed-pod-ips
spec:
gatewayClassName: gke-persistent-regional-external-managed
listeners:
- name: default
port: 443
protocol: none
allowedRoutes:
namespaces:
from: All
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
dove:
- Indirizzi: elenca tutti gli indirizzi IP le cui autorizzazioni sono gestite dal gateway specifico.
- listeners: utilizzato per identificare gli spazi dei nomi da cui gli oggetti
GKEIPRoutepossono fare riferimento a questo gateway.
Applica il manifest al cluster:
kubectl apply -f allowed-pod-ips.yaml
(Facoltativo) Passaggio 4: crea o identifica carichi di lavoro con reti aggiuntive per indirizzi IP permanenti
Se prevedi di utilizzare gli indirizzi IP permanenti con i pod che richiedono la connettività a più reti, puoi configurare i pod multirete e creare oggetti di rete che indicano le reti a cui appartiene l'indirizzo IP permanente.
Passaggio 5: crea l'oggetto GKEIPRoute per i carichi di lavoro selezionati
Per assegnare un indirizzo IP permanente a un pod selezionato, crea un oggetto GKEIPRoute.
Salva il seguente manifest di esempio come my-ip-route.yaml:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: default
name: my-ip-route
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
network: default
reactionMode: ReadyCondition
podSelector:
matchLabels:
component: proxy
nodeSelector: # Can only be specified when using fast failover Gateway Classes.
matchLabels:
component: proxy
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: default
name: proxy-deployment
spec:
replicas: 1
selector:
matchLabels:
component: proxy
template:
metadata:
# annotations: <- Include these lines if the pods are multi-nic pods
# networking.gke.io/default-interface: 'eth0'
# networking.gke.io/interfaces: '[{"interfaceName":"eth0","network":"default"}, {"interfaceName":"eth1","network":"blue-network"}]'
labels:
component: proxy
spec:
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
dove:
- parentRefs: punta al gateway da cui vengono utilizzati gli indirizzi IP permanenti. Questo campo è immutabile.
- addresses: elenca tutti gli indirizzi IP permanenti indirizzati al pod identificato con
podSelector. Questo campo è modificabile. Per IPv4, sono supportati solo gli indirizzi /32. - podSelector: specifica le etichette che identificano il pod a cui vengono indirizzati gli indirizzi IP permanenti. Questo campo è modificabile e si applica allo stesso
namespace in cui si trova
GKEIPRoute. Se selezioni più pod, vengono presi in considerazione due fattori aggiuntivi: l'ora di creazione del pod (GKE sceglie il più recente) e l'impostazione del camporeactionMode. - reactionMode: specifica il comportamento di questa funzionalità quando viene creato o eliminato un pod specifico (selezionato da
podSelector). Questo campo è facoltativo e il valore predefinito èReadyCondition. Il campoReadyConditionè immutabile. Puoi impostarereactionModeper controllare il comportamento della funzionalità quando i pod vengono creati, eliminati o aggiornati. - network: punta all'interfaccia di rete di un pod a cui vengono indirizzati gli indirizzi IP persistenti. Questo campo è facoltativo e il valore predefinito è
default. Tieni presente che se utilizzi la rete predefinita,networkdeve essere impostato sudefault. Se utilizzi reti aggiuntive, imposta la rete sul nome dell'oggetto di rete che hai creato in precedenza. Questo campo è immutabile. - nodeSelector: specifica le etichette dei nodi da preconfigurare per il failover rapido. Questo campo deve essere impostato quando utilizzi le classi gateway di failover rapido e puoi selezionare un massimo di 64 nodi. Devi assicurarti che i pod con indirizzi IP permanenti siano pianificati su questi nodi, in genere utilizzando
nodeSelectordel pod.
Applica il manifest al cluster:
kubectl apply -f my-ip-route.yaml
Assegna indirizzi IP permanenti ai pod StatefulSet
Per assegnare un indirizzo IP permanente a un pod multirete specifico all'interno di un StatefulSet, utilizza il nome host prevedibile del pod e l'etichettatura automatica di Kubernetes, come mostrato nell'esempio seguente:
Salva il seguente manifest di esempio come my-pod-ips.yaml:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: proxy-ss-ns
name: my-pod-ips
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
network: blue-network
reactionMode: ReadyCondition
podSelector:
matchLabels:
statefulset.kubernetes.io/pod-name: proxy-ss-1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: proxy-ss-ns
name: proxy-ss
spec:
selector:
matchLabels:
component: proxy
serviceName: "proxy"
replicas: 3
template:
metadata:
# annotations: <- Include these lines if the pods are multi-nic pods
# networking.gke.io/default-interface: 'eth0'
# networking.gke.io/interfaces: '[{"interfaceName":"eth0","network":"default"}, {"interfaceName":"eth1","network":"blue-network"}]'
labels:
component: proxy
spec:
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Applica il manifest al cluster (assicurati di avere una rete denominata "blue-network"):
kubectl apply -f my-pod-ips.yaml
Assegna indirizzi IP permanenti ai pod di deployment
Per assegnare un indirizzo IP persistente al pod più recente in un deployment, applica un GKEIPRoute con la seguente configurazione:
Salva il seguente manifest di esempio come my-pod-ips.yaml:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: proxy-deploy-ns
name: my-pod-ips
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
network: blue-network # point to the right network if you intend to use persistent-ip on additional networks
reactionMode: ReadyCondition
podSelector:
matchLabels:
component: proxy
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: proxy-deploy-ns
name: proxy-deploy
spec:
selector:
matchLabels:
component: proxy
replicas: 4 # Latest Pod is used
template:
metadata:
# annotations: <- Include these lines if the pods are multi-nic pods
# networking.gke.io/default-interface: 'eth0'
# networking.gke.io/interfaces: '[{"interfaceName":"eth0","network":"default"}, {"interfaceName":"eth1","network":"blue-network"}]'
labels:
component: proxy
spec:
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Applica il manifest al cluster:
kubectl apply -f my-ip-route.yaml
Se utilizzi reti aggiuntive, assicurati di avere una rete denominata "blue-network".
Passaggio 6: utilizza gli indirizzi IP assegnati all'interno del pod
L'assegnazione di un indirizzo IP a un pod GKE utilizzando un oggetto GKEIPRoute non rende automaticamente gli indirizzi IP utilizzabili dalla tua applicazione. Gli indirizzi IP vengono gestiti a livello di routing di rete, ma la configurazione predefinita del pod non ne sarà a conoscenza. Devi configurare la specifica del pod per riconoscere e utilizzare l'indirizzo all'interno del pod. Per farlo, il pod richiede autorizzazioni con privilegi.
Puoi configurare la specifica del pod utilizzando una delle seguenti opzioni:
Modifica
net.ipv4.ip_nonlocal_bindsysctlPuoi modificare le impostazioni di sistema per consentire alla tua applicazione di utilizzare indirizzi IP non assegnati direttamente alla sua interfaccia impostando
net.ipv4.ip_nonlocal_bindsysctl nel podsecurityContext. Questa opzione è utile se la tua applicazione può essere associata a un indirizzo IP che non si trova su un'interfaccia.Aggiungi quanto segue alla specifica YAML di Deployment o StatefulSet in
spec.template.spec:securityContext: sysctls: - name: net.ipv4.ip_nonlocal_bind value: "1"Aggiungi l'indirizzo IP assegnato all'interfaccia del pod
Puoi aggiungere manualmente l'indirizzo IP richiesto dall'oggetto GKEIPRoute a una delle interfacce del pod utilizzando un init container. In questo modo, l'indirizzo IP è visibile al pod come se fosse assegnato direttamente. Ciò richiede la funzionalità
NET_ADMIN.Aggiungi quanto segue alla specifica YAML del deployment o di StatefulSet in
spec.template.spec:initContainers: - name: configure-ips image: gcr.io/google.com/cloudsdktool/cloud-sdk:slim command: ['sh', '-c', 'ip address add ASSIGNED_IP/32 dev eth0'] securityContext: capabilities: add: - NET_ADMINSostituisci
ASSIGNED_IPcon uno degli indirizzi IP assegnati all'oggetto GKEIPRoute.Socket non elaborati:per un controllo ancora maggiore, la tua applicazione potrebbe interagire direttamente con lo stack di rete (avanzato).
Stack di indirizzi IP userspace:in casi particolari, all'interno del pod potrebbe essere eseguita un'applicazione separata per gestire l'indirizzo IP (molto avanzato).
Passaggio 7: abilita ARP per gli indirizzi IP assegnati (solo rete predefinita)
Per generare richieste e risposte ARP (protocollo di risoluzione degli indirizzi) valide e stabilire una nuova connessione a un pod utilizzando l'indirizzo IP assegnato dall'oggetto GKEIPRoute sulla rete predefinita, devi configurare la variabile arp_announce.
Per impostare la variabile arp_announce, esegui questo comando sul pod:
echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce
dove la variabile arp_announce controlla la gestione degli annunci ARP.
Se lo imposti su "2", ti assicuri che vengano effettuati annunci ARP per l'indirizzo IP persistente, consentendo ad altri dispositivi sulla rete di conoscere la nuova associazione.
Passaggio 8: utilizza il failover rapido
Se utilizzi indirizzi IP permanenti con failover rapido, puoi indirizzare temporaneamente il traffico a un pod emettendo un ARP spontaneo (GARP) da quel pod.Google Cloud rispetta questo GARP per circa 20 minuti. Durante questo periodo, devi aggiornare la configurazione del cluster. Per farlo, nel campo spec.podSelector di GKEIPRoute, sostituisci le etichette del vecchio pod con quelle del nuovo pod.
Personalizzare il comportamento dell'indirizzo IP permanente durante le modifiche del pod
Questa sezione descrive il comportamento dell'indirizzo IP permanente per il pod GKE
quando il pod di destinazione viene creato o eliminato. Il controller GKE monitora i pod e la configurazione GKEIPRoute. Quando rileva
un aggiornamento in corso, riassegna automaticamente l'indirizzo IP permanente a
un pod adatto in base al reactionMode scelto.
Scopri come la funzionalità dell'indirizzo IP permanente gestisce automaticamente le modifiche ai pod e le opzioni di configurazione disponibili:
- Scegli tra ReadyCondition o Exists nel campo reactionMode della configurazione di
GKEIPRoute. Valuta le esigenze della tua applicazione in merito alla rapidità di assegnazione dell'indirizzo IP rispetto ai rigorosi requisiti di idoneità. - Se utilizzi
ReadyConditionper garantire l'idoneità, assicurati che i tuoi pod abbiano implementato correttamente i probe di idoneità di Kubernetes. In caso contrario, l'indirizzo IP persistente potrebbe non funzionare come previsto. - Ti consigliamo di monitorare lo stato dei pod e il campo
Conditionsdell'oggettoGKEIPRouteper assicurarti che il sistema funzioni correttamente. Lo statotruedella condizioneReadyindica che il sistema funziona correttamente.
Risolvere i problemi di comunicazione con indirizzi IP permanenti per i pod
Questa sezione mostra come risolvere i problemi relativi agli indirizzi IP permanenti per i pod.
NoPodsFound quando non vengono trovati pod corrispondenti
Sintomo
L'oggetto GKEIPRoute specifica un podSelector (un insieme di etichette) per identificare
i pod associati all'indirizzo IP permanente. Lo stato NoPodsFound indica che non sono presenti pod negli spazi dei nomi GKEIPRoute's di destinazione con le etichette corrispondenti.
Possibili cause
- Etichette errate:il pod con cui intendi utilizzare l'indirizzo IP permanente potrebbe avere etichette errate o non averne affatto.
- Non esistono pod: se
reactionMode == Exists, controlla se il pod è assegnato a un nodo controllando il campopod.Spec.nodeName. Potrebbe non essere in esecuzione alcun pod nello spazio dei nomiGKEIPRoute'sche corrisponda al selettore. - Pod non pronto: se
reactionMode == ReadyCondition, controlla se lo stato del pod èREADY. Anche se esiste un pod corrispondente, se non si trova in uno statoReady, non può gestire il traffico e quindi non viene selezionato.
Risoluzione
- Controlla le etichette: verifica che le etichette nel
GKEIPRoutedipodSelectorcorrispondano a quelle che hai applicato al pod previsto. - Verifica l'esistenza del pod: assicurati che un pod con le etichette corrette esista effettivamente negli spazi dei nomi di
GKEIPRoutespecificati dalListenersdel tuo gateway. SereactionMode == Exists, controlla se il pod è assegnato a un nodo controllando il campopod.Spec.nodeName Conferma l'idoneità del pod: se
reactionMode == ReadyCondition, verifica se lo stato del pod èREADY. Assicurati che il pod sia nello statoReadyutilizzando il seguente comando:kubectl get pods -n <namespace>I pod in altri stati (ad esempio "In attesa", "Errore") non vengono selezionati.
Configura i tuoi pod in modo che rispondano all'indirizzo IP permanente assegnato.
Mutated quando è stato trovato un pod corrispondente ed è in corso la programmazione dell'indirizzo IP permanente
Sintomo
Lo stato GKEIPRoute mostra "Mutated", a indicare che è in corso la configurazione dell'indirizzo IP permanente per un pod corrispondente.
Possibile causa:
Durante la configurazione, lo stato "Mutato" è normale, in quanto il sistema sta configurando il percorso dati GKE e le risorse Google Cloud per l'indirizzo IP persistente.
Risoluzione:
- Attendi e riprova:nella maggior parte dei casi, il processo di configurazione viene completato automaticamente in breve tempo. Controlla lo stato dopo l'attesa. Cambierà in
Readyse l'operazione va a buon fine. - Esegui ulteriori indagini (se necessario): se lo stato "Mutato" persiste per un periodo prolungato, potrebbe indicare un errore di configurazione. Esamina le altre condizioni di stato del tuo
GKEIPRoute:- Accettato: indica se la configurazione di
GKEIPRouteè valida. - DPV2Ready: indica se il percorso dei dati sul nodo è programmato correttamente.
- GCPReady: indica se le risorse Google Cloud sono configurate come previsto.
- Accettato: indica se la configurazione di
Cerca i messaggi di errore in queste condizioni per risolvere il problema.
GARP inviato, ma il pod non riceve traffico
Sintomo
Hai inviato un GARP da un nuovo pod, ma il flusso di traffico rimane invariato. Lo stato
GKEIPRoute rimane Pronto e non indica un errore.
Possibili cause
Il pod non si trova su un nodo che corrisponde a nodeSelector in GKEIPRoute. GARP utilizza un indirizzo IP non associato a GKEIPRoute.
Risoluzione
- Verifica il nodo del pod: assicurati che il pod venga eseguito su un nodo che corrisponda
al
nodeSelectornella configurazione diGKEIPRoute. Se il pod non si trova su un nodo corrispondente, il nodo potrebbe non essere programmato perGKEIPRoute. - Verifica l'indirizzo IP del GARP: assicurati che l'indirizzo IP nel GARP sia uno degli indirizzi IP specificati nel campo dell'indirizzo di
GKEIPRoute. Se l'indirizzo IP non è associato aGKEIPRoute, il meccanismo di failover rapido non viene attivato.
Passaggi successivi
- Leggi Informazioni sugli indirizzi IP permanenti per i pod GKE
- Leggi Configurare il supporto di più reti per i pod