Cilium BGP für Hybridknoten konfigurieren - Amazon EKS

Hilf mit, diese Seite zu verbessern

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Cilium BGP für Hybridknoten konfigurieren

In diesem Thema wird beschrieben, wie das Cilium Border Gateway Protocol (BGP) für Amazon EKS-Hybridknoten konfiguriert wird. Die BGP-Funktionalität von Cilium heißt Cilium BGP Control Plane und kann verwendet werden, um Pod- und Serviceadressen in Ihrem lokalen Netzwerk bekannt zu geben. Alternative Methoden, um Pods in Ihrem lokalen Netzwerk CIDRs routingfähig zu machen, finden Sie unter. Routbarer Remote-Pod CIDRs

Konfigurieren Sie Cilium BGP

Voraussetzungen

Verfahren

  1. Um BGP mit Cilium zu verwenden, um Pod- oder Serviceadressen in Ihrem lokalen Netzwerk zu bewerben, muss Cilium mit installiert werden. bgpControlPlane.enabled: true Wenn Sie BGP für eine bestehende Cilium-Bereitstellung aktivieren, müssen Sie den Cilium-Operator neu starten, um die BGP-Konfiguration anzuwenden, falls BGP zuvor nicht aktiviert war. Sie können true in Ihren Helm-Werten operator.rollOutPods auf festlegen, um den Cilium-Operator als Teil des Helm-Prozesses neu zu starten. 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. Vergewissern Sie sich, dass der Cilium-Operator und die Agenten neu gestartet wurden und ausgeführt werden.

    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. Erstellen Sie eine Datei mit einem Namen cilium-bgp-cluster.yaml mit einer CiliumBGPClusterConfig Definition. Möglicherweise müssen Sie die folgenden Informationen von Ihrem Netzwerkadministrator einholen.

    • Konfigurieren Sie localASN mit der ASN für die Knoten, auf denen Cilium ausgeführt wird.

    • Konfigurieren Sie peerASN mit der ASN für Ihren lokalen Router.

    • Konfigurieren Sie die peerAddress mit der lokalen Router-IP, mit der jeder Knoten, auf dem Cilium ausgeführt wird, eine Verbindung herstellen kann.

      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. Wenden Sie die Cilium BGP-Clusterkonfiguration auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-cluster.yaml
  5. Erstellen Sie eine Datei cilium-bgp-peer.yaml mit dem Namen der CiliumBGPPeerConfig Ressource, die eine BGP-Peer-Konfiguration definiert. Mehrere Peers können dieselbe Konfiguration verwenden und auf die gemeinsame CiliumBGPPeerConfig Ressource verweisen. Eine vollständige Liste der Konfigurationsoptionen finden Sie in der BGP-Peer-Konfiguration in der Cilium-Dokumentation.

    Die Werte für die folgenden Cilium-Peer-Einstellungen müssen mit denen des lokalen Routers übereinstimmen, mit dem Sie peeren.

    • Legen Sie festholdTimeSeconds, wie lange ein BGP-Peer auf eine Keepalive- oder Aktualisierungsnachricht wartet, bevor er die Sitzung für beendet erklärt. Die Standardeinstellung ist 90 Sekunden.

    • KonfigurationkeepAliveTimeSeconds, die bestimmt, ob ein BGP-Peer noch erreichbar ist und die BGP-Sitzung aktiv ist. Standardmäßig ist ein Zeitraum von 30 Sekunden festgelegt.

    • KonfigurationrestartTimeSeconds, die den Zeitpunkt festlegt, zu dem die BGP-Steuerebene von Cilium die BGP-Sitzung nach einem Neustart voraussichtlich wiederherstellt. Standardmäßig sind 120 Sekunden festgelegt.

      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. Wenden Sie die Cilium BGP-Peer-Konfiguration auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-peer.yaml
  7. Erstellen Sie eine Datei cilium-bgp-advertisement-pods.yaml mit dem Namen einer CiliumBGPAdvertisement Ressource, um den Pod in Ihrem lokalen Netzwerk bekannt CIDRs zu geben.

    • Die CiliumBGPAdvertisement Ressource wird verwendet, um Werbetypen und damit verknüpfte Attribute zu definieren. Im folgenden Beispiel wird Cilium so konfiguriert, dass nur Pods beworben werden. CIDRs Weitere Informationen zur Konfiguration von Cilium Clusterinterner Lastenausgleich mit Cilium für die Werbung von Serviceadressen finden Sie in den Beispielen unter Art des Dienstes LoadBalancer und.

    • Jeder Hybridknoten, auf dem der Cilium-Agent ausgeführt wird, arbeitet mit dem BGP-fähigen Upstream-Router zusammen. Jeder Knoten gibt den Pod-CIDR-Bereich bekannt, den er besitzt, wenn der von Cilium so eingestellt advertisementType ist, wie im Beispiel unten. PodCIDR Weitere Informationen finden Sie in der Konfiguration für BGP-Werbung in der Cilium-Dokumentation.

      apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
  8. Wenden Sie die Cilium BGP Advertising-Konfiguration auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-advertisement-pods.yaml
  9. Mit dem Befehl können Sie überprüfen, ob das BGP-Peering mit der Cilium-CLI funktioniert hat. cilium bgp peers Sie sollten in der Ausgabe die richtigen Werte für Ihre Umgebung und den Sitzungsstatus als sehen. established Weitere Informationen zur Problembehandlung finden Sie im Leitfaden zur Fehlerbehebung und Bedienung in der Cilium-Dokumentation.

    In den folgenden Beispielen gibt es fünf Hybridknoten, auf denen der Cilium-Agent ausgeführt wird, und jeder Knoten macht Werbung für den Pod-CIDR-Bereich, den er besitzt.

    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}]