Aiutaci 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à.
Configurare Cilium BGP per nodi ibridi
Questo argomento descrive come configurare Cilium Border Gateway Protocol (BGP) per Amazon EKS Hybrid Nodes. La funzionalità BGP di Cilium si chiama Cilium BGP Control Plane
Configura Cilium BGP
Prerequisiti
-
Cilium è stato installato seguendo le istruzioni in. Configurare CNI per nodi ibridi
Procedura
-
Per utilizzare BGP con Cilium per pubblicizzare pod o indirizzi di servizi sulla rete locale, è necessario installare Cilium con.
bgpControlPlane.enabled: true
Se state abilitando BGP per una distribuzione Cilium esistente, dovete riavviare l'operatore Cilium per applicare la configurazione BGP se BGP non era stato precedentemente abilitato. È possibile impostare i valori Helmoperator.rollOutPods
pertrue
riavviare l'operatore Cilium come parte del processo Helm. install/upgradehelm 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=cilium
NAME 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.yaml
con una definizione.CiliumBGPClusterConfig
Potrebbe essere necessario ottenere le seguenti informazioni dall'amministratore di rete.-
Configura
localASN
con l'ASN per i nodi che eseguono Cilium. -
Configura
peerASN
con l'ASN per il router locale. -
Configuralo
peerAddress
con l'IP del router locale 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_ASN
peers: - name: "onprem-router" peerASN:ONPREM_ROUTER_ASN
peerAddress:ONPREM_ROUTER_IP
peerConfigRef: name: "cilium-peer"
-
-
Applica la configurazione del cluster Cilium BGP al tuo cluster.
kubectl apply -f cilium-bgp-cluster.yaml
-
Crea un file denominato
cilium-bgp-peer.yaml
con laCiliumBGPPeerConfig
risorsa che definisce una configurazione peer BGP. Più peer possono condividere la stessa configurazione e fornire un riferimento alla risorsa comune.CiliumBGPPeerConfig
Consulta la configurazione BGP Peernella 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 locale con cui si esegue il peering.
-
Configura
holdTimeSeconds
che determina per quanto tempo un peer BGP attende un messaggio keepalive o update prima di dichiarare la sessione inattiva. L'impostazione predefinita è 90 secondi. -
Configura
keepAliveTimeSeconds
che determina se un peer BGP è ancora raggiungibile e la sessione BGP è attiva. Il valore predefinito è 30 secondi. -
Configurazione
restartTimeSeconds
che 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:
90
keepAliveTimeSeconds:30
gracefulRestart: enabled: true restartTimeSeconds:120
families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
-
-
Applica la configurazione peer Cilium BGP al tuo cluster.
kubectl apply -f cilium-bgp-peer.yaml
-
Crea un file denominato
cilium-bgp-advertisement-pods.yaml
con unaCiliumBGPAdvertisement
risorsa per pubblicizzare il pod CIDRs sulla tua rete locale.-
La
CiliumBGPAdvertisement
risorsa viene utilizzata per definire i tipi di pubblicità e gli attributi ad essi associati. L'esempio seguente configura Cilium per pubblicizzare solo i pod. CIDRs Vedi gli esempi in Tipo di 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 Cilium's
advertisementType
è impostato come nell'esempio seguente.PodCIDR
Per ulteriori informazioni, consulta la configurazione BGP Advertisementsnella documentazione di Cilium. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
-
-
Applica la configurazione Cilium BGP Advertisement al tuo 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 come.established
Per ulteriori informazioni sulla risoluzione dei problemi, consulta la Guida alla risoluzione dei problemi e alle operazioninella 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 peers
Node Local AS Peer AS Peer Address Session State Uptime Family Received Advertised mi-026d6a261e355fba7
NODES_ASN
ONPREM_ROUTER_ASN
ONPREM_ROUTER_IP
established 1h18m58s ipv4/unicast 1 2 mi-082f73826a163626eNODES_ASN
ONPREM_ROUTER_ASN
ONPREM_ROUTER_IP
established 1h19m12s ipv4/unicast 1 2 mi-09183e8a3d755abf6NODES_ASN
ONPREM_ROUTER_ASN
ONPREM_ROUTER_IP
established 1h18m47s ipv4/unicast 1 2 mi-0d78d815980ed202dNODES_ASN
ONPREM_ROUTER_ASN
ONPREM_ROUTER_IP
established 1h19m12s ipv4/unicast 1 2 mi-0daa253999fe92daaNODES_ASN
ONPREM_ROUTER_ASN
ONPREM_ROUTER_IP
established 1h18m58s ipv4/unicast 1 2cilium bgp routes
Node VRouter Prefix NextHop Age Attrs mi-026d6a261e355fba7
NODES_ASN
10.86.2.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-082f73826a163626eNODES_ASN
10.86.2.192/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-09183e8a3d755abf6NODES_ASN
10.86.2.64/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0d78d815980ed202dNODES_ASN
10.86.2.128/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0daa253999fe92daaNODES_ASN
10.86.3.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}]