Configurare Cilium BGP per nodi ibridi - Amazon EKS

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 e può essere utilizzata per pubblicizzare indirizzi di pod e servizi sulla rete locale. Per metodi alternativi per rendere i pod CIDRs instradabili sulla rete locale, consulta. Pod remoto indirizzabile CIDRs

Configura Cilium BGP

Prerequisiti

Procedura

  1. 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 Helm operator.rollOutPods per true riavviare l'operatore Cilium come parte del processo Helm. install/upgrade

    helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --set bgpControlPlane.enabled=true
  2. 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
  3. 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"
  4. Applica la configurazione del cluster Cilium BGP al tuo cluster.

    kubectl apply -f cilium-bgp-cluster.yaml
  5. Crea un file denominato cilium-bgp-peer.yaml con la CiliumBGPPeerConfig 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 Peer nella 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"
  6. Applica la configurazione peer Cilium BGP al tuo cluster.

    kubectl apply -f cilium-bgp-peer.yaml
  7. Crea un file denominato cilium-bgp-advertisement-pods.yaml con una CiliumBGPAdvertisement 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 Advertisements nella documentazione di Cilium.

      apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
  8. Applica la configurazione Cilium BGP Advertisement al tuo cluster.

    kubectl apply -f cilium-bgp-advertisement-pods.yaml
  9. È 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 operazioni nella 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-082f73826a163626e NODES_ASN ONPREM_ROUTER_ASN ONPREM_ROUTER_IP established 1h19m12s ipv4/unicast 1 2 mi-09183e8a3d755abf6 NODES_ASN ONPREM_ROUTER_ASN ONPREM_ROUTER_IP established 1h18m47s ipv4/unicast 1 2 mi-0d78d815980ed202d NODES_ASN ONPREM_ROUTER_ASN ONPREM_ROUTER_IP established 1h19m12s ipv4/unicast 1 2 mi-0daa253999fe92daa NODES_ASN ONPREM_ROUTER_ASN ONPREM_ROUTER_IP established 1h18m58s ipv4/unicast 1 2
    cilium 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-082f73826a163626e NODES_ASN 10.86.2.192/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-09183e8a3d755abf6 NODES_ASN 10.86.2.64/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0d78d815980ed202d NODES_ASN 10.86.2.128/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}] mi-0daa253999fe92daa NODES_ASN 10.86.3.0/26 0.0.0.0 1h16m46s [{Origin: i} {Nexthop: 0.0.0.0}]