Contribuisci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione di Cilium BGP per nodi ibridi
Questo argomento descrive come configurare il Border Gateway Protocol (BGP) di Cilium per Amazon EKS Hybrid Nodes. La funzionalità BGP di Cilium si chiama Cilium BGP Control Plane
Configurazione del BGP di Cilium
Prerequisiti
-
Cilium è installato seguendo le istruzioni contenute in Configurazione della CNI per nodi ibridi.
Procedura
-
Per utilizzare BGP con Cilium per pubblicizzare pod o indirizzi di servizi sulla rete on-premises, è necessario installare Cilium con
bgpControlPlane.enabled: true. Se stai abilitando BGP per un’implementazione Cilium esistente, devi riavviare l’operatore Cilium per applicare la configurazione BGP se BGP non era stato precedentemente abilitato. È possibile impostare i valori di Helmoperator.rollOutPodspertrueal fine di riavviare l’operatore Cilium come parte del processo di installazione/aggiornamento di Helm.helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --set bgpControlPlane.enabled=true -
Conferma che l’operatore e gli agenti Cilium sono stati riavviati e sono in esecuzione.
kubectl -n kube-system get pods --selector=app.kubernetes.io/part-of=ciliumNAME READY STATUS RESTARTS AGE cilium-grwlc 1/1 Running 0 4m12s cilium-operator-68f7766967-5nnbl 1/1 Running 0 4m20s cilium-operator-68f7766967-7spfz 1/1 Running 0 4m20s cilium-pnxcv 1/1 Running 0 6m29s cilium-r7qkj 1/1 Running 0 4m12s cilium-wxhfn 1/1 Running 0 4m1s cilium-z7hlb 1/1 Running 0 6m30s -
Crea un file chiamato
cilium-bgp-cluster.yamlcon una definizioneCiliumBGPClusterConfig. Potrebbe essere necessario ottenere le seguenti informazioni dall’amministratore di rete.-
Configura
localASNcon l’ASN per i nodi che eseguono Cilium. -
Configura
peerASNcon l’ASN per il router on-premises. -
Configura
peerAddresscon l’IP del router on-premises con cui verrà eseguito il peering di ogni nodo su cui è in esecuzione Cilium.apiVersion: cilium.io/v2alpha1 kind: CiliumBGPClusterConfig metadata: name: cilium-bgp spec: nodeSelector: matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid bgpInstances: - name: "rack0" localASN:NODES_ASNpeers: - name: "onprem-router" peerASN:ONPREM_ROUTER_ASNpeerAddress:ONPREM_ROUTER_IPpeerConfigRef: name: "cilium-peer"
-
-
Applica la configurazione del cluster Cilium BGP al cluster.
kubectl apply -f cilium-bgp-cluster.yaml -
Crea un file denominato
cilium-bgp-peer.yamlcon la risorsaCiliumBGPPeerConfigche definisce una configurazione peer BGP. Più peer possono condividere la stessa configurazione e fornire un riferimento alla risorsa comuneCiliumBGPPeerConfig. Consulta BGP Peer configurationnella documentazione di Cilium per un elenco completo delle opzioni di configurazione. I valori per le seguenti impostazioni peer Cilium devono corrispondere a quelli del router on-premises con cui si esegue il peering.
-
Configura
holdTimeSecondsche determina per quanto tempo un peer BGP attende un messaggio keepalive o update prima di dichiarare la sessione inattiva. Il valore predefinito è 90 secondi. -
Configura
keepAliveTimeSecondsche determina se un peer BGP è ancora raggiungibile e la sessione BGP è attiva. Il valore predefinito è 30 secondi. -
Configura
restartTimeSecondsche determina l’ora in cui il piano di controllo BGP di Cilium dovrebbe ristabilire la sessione BGP dopo un riavvio. Il valore predefinito è 120 secondi.apiVersion: cilium.io/v2alpha1 kind: CiliumBGPPeerConfig metadata: name: cilium-peer spec: timers: holdTimeSeconds:90keepAliveTimeSeconds:30gracefulRestart: enabled: true restartTimeSeconds:120families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
-
-
Applica la configurazione del peer Cilium BGP al cluster.
kubectl apply -f cilium-bgp-peer.yaml -
Crea un file denominato
cilium-bgp-advertisement-pods.yamlcon una risorsaCiliumBGPAdvertisementper pubblicizzare i pod CIDR sulla rete on-premises.-
La risorsa
CiliumBGPAdvertisementviene utilizzata per definire i tipi di pubblicità e gli attributi ad essi associati. L’esempio seguente configura Cilium per pubblicizzare solo i pod CIDR. Vedi gli esempi in Tipo servizio LoadBalancer e Bilanciamento del carico Cilium all’interno del cluster per ulteriori informazioni sulla configurazione di Cilium per pubblicizzare gli indirizzi dei servizi. -
Ogni nodo ibrido che esegue l’agente Cilium esegue il peering con il router upstream abilitato per BGP. Ogni nodo pubblicizza la gamma di pod CIDR che possiede quando
advertisementTypedi Cilium è impostato suPodCIDRcome nell’esempio seguente. Per ulteriori informazioni, consulta BGP Advertisements configurationnella documentazione di Cilium. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
-
-
Applica la configurazione degli annunci pubblicitari BGP di Cilium al cluster.
kubectl apply -f cilium-bgp-advertisement-pods.yaml -
È possibile confermare che il peering BGP ha funzionato con la CLI di Cilium
utilizzando il comando cilium bgp peers. Dovresti vedere i valori corretti nell’output per il tuo ambiente e lo stato della sessione comeestablished. Per ulteriori informazioni sulla risoluzione dei problemi, consulta Troubleshooting and Operations Guidenella documentazione di Cilium. Negli esempi seguenti, ci sono cinque nodi ibridi che eseguono l’agente Cilium e ogni nodo pubblicizza la gamma Pod CIDR di sua proprietà.
cilium bgp peersNode Local AS Peer AS Peer Address Session State Uptime Family Received Advertised mi-026d6a261e355fba7NODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m58s ipv4/unicast 1 2 mi-082f73826a163626eNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h19m12s ipv4/unicast 1 2 mi-09183e8a3d755abf6NODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m47s ipv4/unicast 1 2 mi-0d78d815980ed202dNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h19m12s ipv4/unicast 1 2 mi-0daa253999fe92daaNODES_ASNONPREM_ROUTER_ASNONPREM_ROUTER_IPestablished 1h18m58s ipv4/unicast 1 2cilium bgp routesNode VRouter Prefix NextHop Age Attrs mi-026d6a261e355fba7NODES_ASN10.86.2.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-082f73826a163626eNODES_ASN10.86.2.192/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-09183e8a3d755abf6NODES_ASN10.86.2.64/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0d78d815980ed202dNODES_ASN10.86.2.128/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0daa253999fe92daaNODES_ASN10.86.3.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}]