La pagina contiene dettagli su come risolvere i problemi di networking più comuni.
Risoluzione dei problemi di bootstrap di rete
Questa sezione mostra alcuni degli errori comuni che potresti riscontrare durante il completamento del processo di bootstrap della rete.
Errore di generazione della configurazione
Per completare l'installazione di rete, i file di configurazione di rete vengono installati
sul computer bootstrapper. Se si verifica un errore di generazione della configurazione, controlla
i file YAML che si trovano in /root/cellcfg per la configurazione dello switch non riuscita.
Bootstrap bloccato al ping della fase 1
Se il processo di bootstrap della rete si blocca alla fase 1 di ping, segui questi passaggi per trovare il problema:
- Recupera la posizione della configurazione dello switch generata dal log di bootstrap:
/tmp/network-bootstrap/ID - Trova lo switch bloccato esaminando il file di configurazione dello switch con l'indirizzo IP.
- Accedi allo switch e controlla il log delle operazioni.
Il bootstrap si è bloccato al ping della fase 2
Se il processo di bootstrap della rete si blocca alla fase 2 ping, segui questi passaggi per trovare il problema:
- Recupera la posizione della configurazione dello switch generata dal log di bootstrap:
/tmp/network-bootstrap/ID - Trova lo switch bloccato esaminando il file di configurazione dello switch con l'indirizzo IP di gestione.
- Controlla la configurazione dello switch di gestione per individuare potenziali problemi di accesso nella rete di gestione.
Risoluzione dei problemi di riconciliazione del giorno 2 della rete
Panoramica
GDC utilizza la funzionalità di sostituzione della configurazione fornita da Cisco NX-OS durante la riconciliazione degli switch per sostituire la configurazione in esecuzione in uno switch con una configurazione completamente nuova. I passaggi eseguiti internamente dall'operazione di sostituzione della configurazione sono:
- Calcola la differenza tra la configurazione di esecuzione corrente e quella fornita dall'utente.
- Genera un file patch che rappresenta la differenza tra la configurazione in esecuzione e la configurazione di input.
- Esegue la convalida semantica sul file patch.
- Applica il file patch.
- Verifica che il file patch sia stato aggiunto correttamente confrontando running-config con la configurazione di input. In caso contrario, viene ripristinata la configurazione precedente
- Viene avviato un timer prima del quale deve essere eseguito il comando configure replace commit o viene ripristinata la nuova configurazione.
L'errore può verificarsi in ognuno dei passaggi precedenti, ma più spesso durante i passaggi 3, 4 e 1. Di seguito sono riportati alcuni modi per risolvere gli errori relativi a configure replace.
Procedure comuni di risoluzione dei problemi
Controllare lo stato generale dell'interruttore
Nel server di amministrazione principale esegui kubectl describe aggswitch/mb-ab-aggsw01 -n
gpc-system (sostituisci il nome dello switch con il nome dello switch richiesto)
L'oggetto di commutazione Kubernetes nel cluster amministrativo principale mostra i log di esecuzione e verifica nella descrizione dell'oggetto se l'ultima sostituzione della configurazione non riesce.
Controlla lo stato dell'ultima operazione di sostituzione della configurazione
Nella console dello switch, esegui show config-replace status:
Lo stato fornirà le seguenti informazioni:
- Stato generale come "completato", "non riuscito" e così via.
- Indica se la sostituzione della configurazione è stata eseguita o è in attesa di esecuzione.
- Ora di inizio e di fine dell'ultima operazione di sostituzione della configurazione
Controlla quali configurazioni sono state applicate dall'ultima operazione di sostituzione della configurazione
Nella console dello switch, esegui show config-replace log exec.
Il log di esecuzione della sostituzione della configurazione mostra i log generati durante l'applicazione delle configurazioni determinate dall'operazione di sostituzione della configurazione come configurazione della patch, ovvero la differenza tra la configurazione in esecuzione e la configurazione di input.
Tieni presente che a volte questi log contengono errori ignorati dall'operazione di sostituzione della configurazione e non causano il mancato completamento della sostituzione della configurazione nel suo complesso. A meno che un errore non sia l'ultima riga del log di esecuzione nella sezione "Executing Patch" (Esecuzione patch), probabilmente non è la causa di un errore di sostituzione della configurazione.
Controlla se la verifica dell'ultima operazione di sostituzione della configurazione è riuscita
Nella console dello switch, esegui show config-replace log verify.
Dopo il passaggio di esecuzione della sostituzione della configurazione, l'operazione di sostituzione della configurazione confronta la nuova configurazione in esecuzione dello switch con la configurazione di input. Queste configurazioni devono corrispondere. In caso contrario, la sostituzione della configurazione non riesce e viene eseguito il rollback alla configurazione precedente.
Il log di verifica è suddiviso in due sezioni.
Configuration To Be Added Missing in Running-config: Elenca le configurazioni presenti nella configurazione di input, ma non nella nuova configurazione in esecuzione.Configuration To Be Removed Present in Running-config: Elenca le configurazioni presenti nella nuova configurazione in esecuzione, ma non nella configurazione di input.
Controlla tutti i comandi eseguiti sullo switch
Nella console dello switch esegui show accounting log start-time 2022 Sep 13 20:00:00
(sostituendo l'ora di inizio con l'ora di inizio richiesta)
I log di contabilità mostrano ogni comando eseguito sullo switch. Questi log possono essere utili per vedere quali comandi sono stati eseguiti sullo switch tramite NXAPI o manualmente. Possono anche darti un'idea di quando è stata eseguita esattamente ogni operazione di sostituzione della configurazione e quante volte è stata eseguita.
Controlla quali chiamate NX-API sono state effettuate allo switch e da dove
Nella console di commutazione, esegui show nxapi-server logs
I log NX-API mostrano i log relativi alle chiamate NXAPI effettuate allo switch. Poiché il nostro stack di automazione effettua chiamate NXAPI agli switch per molti motivi, tra cui l'esecuzione della sostituzione della configurazione, è utile vedere quali chiamate NXAPI sono state effettuate e da dove provengono.
Risoluzione dei problemi di interconnessione
Panoramica dell'API Interconnect
L'API Interconnect configura le connessioni esterne per una cella del data center GDC. Esistono tre tipi di interconnessioni
- Interconnessione data center (DCI): interconnessione da un data center GDC a un altro data center GDC tramite gli switch leaf di confine del data plane.
- Customer Peering Interconnect (CPI): interconnessione da un data center GDC alla rete ORG tramite gli switch leaf di confine del piano dati.
- Network Operation Center (NOC): interconnessione da un data center GDC al Network Operation Center tramite gli switch leaf di confine del data plane e gli switch di aggregazione di gestione.
Sono presenti i seguenti oggetti API:
InterconnectLink: questo oggetto API definisce le porte fisiche che si connettono agli switch esterni.InterconnectAttachment: questo oggetto API definisce gli allegati esistenti in aggiunta aInterconnectLinkconfigurato. Le informazioni contenute in ogni allegato definiscono quanto segue:- Tipo di interconnessione
- Informazioni BGP
- Informazioni sull'ID VLAN
- Criteri di route configurati
RoutePolicy: questo oggetto API modella le policy utilizzate per la condivisione delle route con i peer BGP di interconnessione.
Risoluzione dei problemi
Verifica lo stato di InterconnectLink e InterconnectAttachment
Gli oggetti API InterconnectLink e InterconnectAttachment espongono una grande quantità di
informazioni che possono fare luce sullo stato attuale.
InterconnectLink: Per ogni porta fisica che si connette a switch esterni vengono esposte le seguenti informazioni.Up: informazioni sullo stato che indicano se la porta è attiva o inattiva.DownReason: Il motivo per cui la porta non è attiva.
InterconnectAttachment: vengono esposte le seguenti informazioni per ciascuno degli allegati di interconnessione configurati.BGPStatus: stato della sessione BGP, ad esempio Attiva o Non attiva.UpTime: timestamp dell'ultima volta che la sessione BGP è stata attivata.PrefixCounters: contatori che mostrano i prefissi totaliReceived,SenteWithdrawn.
Verifica i criteri di route
RoutePolicy definisce un elenco di prefissi e l'azione da intraprendere, ad esempio Consenti o Nega.
Elenca tutte le norme di routing associate alla risorsa InterconnectAttachment per verificare
se gli indirizzi IP fanno parte di RoutePolicy validi.
Verifica i prefissi di route BGP/il traffico sugli switch leaf di confine tramite i firewall
Il percorso dei dati di interconnessione attraversa anche due firewall PANW: il firewall del sistema di rilevamento e prevenzione delle intrusioni (IDPS) e il firewall perimetrale. Anche se i prefissi di route vengono appresi dalla sessione BGP, è possibile che i firewall li eliminino.
Verifica i prefissi di route appresi su vari VRFs
Il traffico esterno attraversa più VRF sugli switch di aggregazione mentre transita attraverso i diversi firewall. Il controllo dei prefissi di route BGP appresi su questi punti VRF porta a prefissi di route/traffico eliminati dai firewall.
Tutto il traffico esterno viene inserito nei VRF esterni *-external-vrf
a seconda del cluster di origine o di destinazione del traffico sugli switch leaf di confine.
Esempio: root-external-vrf ha traffico con origine o destinazione al cluster di amministrazione principale.
Una volta che il traffico attraversa il firewall IDPS, viene inserito in uno dei seguenti VRF di interconnessione:
oc-vrfdci-vrfcp-vrf
Per il traffico destinato al NOC, è presente un firewall perimetrale aggiuntivo dopo il quale
il traffico arriva su octransit-vrf.
Accedi agli switch leaf di confine e utilizza il comando seguente per visualizzare i prefissi di route appresi su vari VRF:
show bgp vrf <vrf_name> all
dove vrf_name può essere uno dei VRF.
Risoluzione dei problemi relativi a BGP ANG
File kubeconfig del cluster
Assicurati di avere i seguenti valori di KUBECONFIG_FILE per controllare gli oggetti:
ROOT_ADMIN_KUBECONFIG: il filekubeconfigper il cluster di amministrazione principale.ORG_ADMIN_KUBECONFIG: il filekubeconfigper il cluster di amministrazione dell'organizzazione.ORG_SYSTEM_KUBECONFIG: il filekubeconfigper il cluster di sistema dell'organizzazione.ORG_USER_KUBECONFIG: il filekubeconfigper il cluster utente dell'organizzazione.
Il cluster è bloccato nello stato di provisioning
Verifica che l'oggetto
NodePoolsia pronto.kubectl --kubeconfig KUBECONFIG_FILE \ get nodepools -ASe gli oggetti del pool di nodi non vengono creati o non sono pronti, controlla
NodePoolClaime la connettività dei nodi.Verifica che l'oggetto
ClusterBGPPeersia pronto.Verifica che gli oggetti
ClusterBGPPeersiano creati per flat-ip-bgp-x, lb-bgp-x e node-x:kubectl --kubeconfig KUBECONFIG_FILE \ get clusterbgppeers -A ... ORG_NAME-system-cluster flat-ip-bgp-peer-0 16h ORG_NAME-system-cluster lb-bgp-peer-0 21h ORG_NAME-system-cluster node-10.251.100.10-peer-10.0.224.0 21hSe gli oggetti non vengono creati, controlla gli oggetti
NetworkGatewayGroupeBGPPeer.Verifica che i
BGPSessionsiano attivi.kubectl --kubeconfig KUBECONFIG_FILE \ get bgpsessions -ASe le sessioni BGP non sono attive, consulta Sessioni BGP non stabilite.
Sessione BGP non stabilita
Controlla EBGPNeighbor su TORSwitchInternal
Controlla
ClusterBGPRouterper ottenere l'interruttore TOR sottoposto a peering di ogni interfaccia.Le interfacce di
ORG_NAMEClusterBGPRoutervengono utilizzate per il peering di tutti i cluster diORG_NAME.apiVersion: network.private.gdc.goog/v1alpha1 kind: ClusterBGPRouter metadata: labels: clusterbgpreconciler.system.private.gdc.goog/overlay-network: external name: external-vrf-cluster-bgp-router namespace: ORG_NAME spec: clusterASN: 64513 interfaces: - ip: 10.0.252.48 switchMetadata: rackName: alatl14-aa switchRef: kind: TORSwitch name: alatl14-aa-torsw01 - ip: 10.0.252.49 switchMetadata: rackName: alatl14-aa switchRef: kind: TORSwitch name: alatl14-aa-torsw02 networkASN: 65014Per ogni
TORSwitchInternal, controllaspec.ebgpNeighborsper verificare se tutti gli oggettiClusterBGPPeersono configurati.
Eseguire il debug delle sessioni BGP sugli switch TOR
- Accedi tramite SSH a uno degli switch TOR con peering.
Verifica i vicini BGP ANG per
ORG_NAME:> sh run bgp router bgp 65014 ... vrf ORG_NAME-external-vrf ... neighbor 10.251.100.3 inherit peer ANG update-source loopback200 neighbor 10.251.100.4 inherit peer ANG update-source loopback200 ... vrf ORG_NAME-internal-vrf ... neighbor 172.20.128.5 inherit peer ANG update-source loopback100 neighbor 172.20.128.6 inherit peer ANG update-source loopback100 ...Controlla lo stato della sessione BGP:
> sh bgp ses vrf ORG_NAME-external-vrf > sh bgp ses vrf ORG_NAME-internal-vrfVisualizza i log BGP:
> debug ip bgp all > no debug ip bgp all (disable log mode)Sposta il debug utilizzando bash:
> run bash > sudo tcpdmp -i any port 179 -vvv