Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, 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.
Konfiguration von Cilium BGP für Hybridknoten
In diesem Thema wird beschrieben, wie Sie Cilium Border Gateway Protocol (BGP) für Amazon EKS Hybrid Nodes konfigurieren. Die BGP-Funktionalität von Cilium heißt Cilium BGP Control Plane
Cilium BGP konfigurieren
Voraussetzungen
-
Cilium wurde gemäß den Anweisungen in CNI für Hybridknoten konfigurieren installiert.
Verfahren
-
Um BGP mit Cilium zu verwenden und Pod- oder Service-Adressen in Ihrem On-Premises-Netzwerk bekannt zu geben, muss Cilium mit
bgpControlPlane.enabled: trueinstalliert sein. Wenn Sie BGP für eine vorhandene Cilium-Bereitstellung aktivieren, müssen Sie den Cilium-Operator neu starten, um die BGP-Konfiguration anzuwenden, falls BGP zuvor nicht aktiviert wurde. Sie können in Ihren Helm-Wertenoperator.rollOutPodsauftruesetzen, um den Cilium-Operator als Teil des Helm-Installations-/Upgrade-Prozesses neu zu starten.helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --set bgpControlPlane.enabled=true -
Bestätigen Sie, 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=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 -
Erstellen Sie eine Datei mit dem Namen
cilium-bgp-cluster.yamlmit einerCiliumBGPClusterConfig-Definition. Möglicherweise müssen Sie die folgenden Informationen von Ihrem Netzwerkadministrator einholen.-
Konfigurieren Sie
localASNmit der ASN für die Knoten, auf denen Cilium ausgeführt wird. -
Konfigurieren Sie
peerASNmit der ASN für Ihren On-Premises-Router. -
Konfigurieren Sie
peerAddressmit der On-Premises-Router-IP, mit der jeder Knoten, auf dem Cilium ausgeführt wird, eine Peering-Verbindung herstellt.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"
-
-
Wenden Sie die Cilium-BGP-Cluster-Konfiguration auf Ihren Cluster an.
kubectl apply -f cilium-bgp-cluster.yaml -
Erstellen Sie eine Datei mit dem Namen
cilium-bgp-peer.yamlmit derCiliumBGPPeerConfig-Ressource, die eine BGP-Peer-Konfiguration definiert. Mehrere Peers können dieselbe Konfiguration freigeben und auf die gemeinsameCiliumBGPPeerConfig-Ressource verweisen. Eine vollständige Liste der Konfigurationsoptionen finden Sie in der BGP-Peer-Konfigurationin der Cilium-Dokumentation. Die Werte für die folgenden Cilium-Peer-Einstellungen müssen mit denen des On-Premises-Routers übereinstimmen, mit dem Sie das Peering durchführen.
-
Konfigurieren Sie
holdTimeSeconds, das festlegt, wie lange ein BGP-Peer auf eine Keepalive- oder Aktualisierungsnachricht wartet, bevor die Sitzung als unterbrochen erklärt wird. Der Standardwert ist 90 Sekunden. -
Konfigurieren Sie
keepAliveTimeSeconds, um festzustellen, ob ein BGP-Peer noch erreichbar ist und die BGP-Sitzung aktiv ist. Standardmäßig ist ein Zeitraum von 30 Sekunden festgelegt. -
Konfigurieren Sie
restartTimeSeconds, das die Zeit bestimmt, nach der die BGP-Steuerebene von Cilium die BGP-Sitzung nach einem Neustart wiederherstellen soll. Standardmäßig sind 120 Sekunden festgelegt.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"
-
-
Wenden Sie die Cilium BGP-Peer-Konfiguration auf Ihren Cluster an.
kubectl apply -f cilium-bgp-peer.yaml -
Erstellen Sie eine Datei mit dem Namen
cilium-bgp-advertisement-pods.yamlund einerCiliumBGPAdvertisement-Ressource, um die Pod-CIDRs in Ihrem On-Premises-Netzwerk bekannt zu machen.-
Die
CiliumBGPAdvertisement-Ressource wird verwendet, um Ankündigungstypen und die zugehörigen Attribute zu definieren. Im folgenden Beispiel wird Cilium so konfiguriert, dass nur Pod-CIDRs bekannt gemacht werden. Weitere Informationen zum Konfigurieren von Cilium zum Bekanntgeben von Service-Adressen finden Sie in den Beispielen in Servicetyp LoadBalancer und Cilium-Load-Balancing im Cluster. -
Jeder Hybridknoten, auf dem der Cilium-Agent ausgeführt wird, ist mit dem Upstream-BGP-fähigen Router verbunden. Jeder Knoten gibt den ihm zugehörigen Pod-CIDR-Bereich bekannt, wenn Ciliums
advertisementTypewie im folgenden Beispiel aufPodCIDRgesetzt ist. Weitere Informationen finden Sie in der BGP-Anzeigenkonfigurationin der Cilium-Dokumentation. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-pods labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR"
-
-
Wenden Sie die Cilium BGP-Anzeigenkonfiguration auf Ihren Cluster an.
kubectl apply -f cilium-bgp-advertisement-pods.yaml -
Sie können mit dem
cilium bgp peers-Befehl überprüfen, ob das BGP-Peering mit der Cilium CLIfunktioniert. In der Ausgabe sollten die korrekten Werte für Ihre Umgebung und der Sitzungsstatus establishedangezeigt werden. Weitere Informationen zur Fehlerbehebung finden Sie im Handbuch zur Fehlerbehebung und zum Betriebin der Cilium-Dokumentation. In den folgenden Beispielen gibt es fünf Hybridknoten, in denen der Cilium-Agent ausgeführt wird, und jeder Knoten gibt den Pod-CIDR-Bereich bekannt, den er besitzt.
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}]