Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Konfigurieren Sie ein CNI für Hybridknoten

Fokusmodus
Konfigurieren Sie ein CNI für Hybridknoten - 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.

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 und Calico werden als Container Networking Interfaces (CNIs) für Amazon EKS-Hybridknoten unterstützt. Sie müssen ein CNI installieren, damit Hybridknoten bereit sind, Workloads zu bedienen. Hybridknoten werden mit Status angezeigt, Not Ready bis ein CNI ausgeführt wird. Sie können diese CNIs mit Tools Ihrer Wahl wie Helm verwalten. Das Amazon VPC CNI ist nicht mit Hybridknoten kompatibel und das VPC-CNI ist mit Anti-Affinität für das Label konfiguriert. eks.amazonaws.com/compute-type: hybrid

Kompatibilität der CNI-Version

Die Calico-Version 3.29.x wird für EKS-Hybridknoten für jede in Amazon EKS unterstützte Kubernetes-Version unterstützt und empfohlen.

Die Cilium-Version 1.16.x wird für EKS-Hybridknoten für jede in Amazon EKS unterstützte Kubernetes-Version unterstützt und empfohlen.

Unterstützte Funktionen

AWS unterstützt die folgenden Funktionen von Cilium und Calico zur Verwendung mit Hybridknoten. Wenn Sie beabsichtigen, Funktionen außerhalb des AWS Supports zu verwenden, empfehlen wir Ihnen, kommerziellen Support für das Plugin in Anspruch zu nehmen oder über das interne Fachwissen zu verfügen, um Fehler zu beheben und Korrekturen für das CNI-Plug-in-Projekt vorzunehmen.

Funktion Cilium Calico

Konformität mit dem Kubernetes-Netzwerk

Ja

Ja

Konnektivität zwischen der Kontrollebene und dem Knoten

Ja

Ja

Konnektivität zwischen Kontrollebene und Pod

Ja

Ja

Verwaltung des Lebenszyklus

Installieren, aktualisieren, löschen

Installieren, aktualisieren, löschen

Netzwerkmodus

VXLAN

VXLAN

IP-Adressverwaltung (IPAM)

Cluster-Bereich (Cilium IPAM)

Kaliko IPAM

IP-Familie

IPv4

IPv4

BGP

Ja (Cilium Control Plane)

Ja

Installieren Sie Cilium auf Hybridknoten

  1. Stellen Sie sicher, dass Sie die Helm-CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation.

  2. Installieren Sie das Cilium Helm Repo.

    helm repo add cilium https://helm.cilium.io/
  3. Erstellen Sie eine YAML-Datei mit dem Namen. cilium-values.yaml Wenn Sie mindestens ein Remote-Pod-Netzwerk konfiguriert haben, konfigurieren Sie denselben Pod CIDRs für IhrenclusterPoolIPv4PodCIDRList. Sie sollten Ihre clusterPoolIPv4PodCIDRList nach der Bereitstellung von Cilium auf Ihrem Cluster nicht ändern. Sie können die Konfiguration auf der clusterPoolIPv4MaskSize Grundlage Ihrer benötigten Pods pro Knoten vornehmen. Weitere Informationen finden Sie unter Erweiterung des Cluster-Pools in der Cilium-Dokumentation. Eine vollständige Liste der Helm-Werte für Cilium finden Sie in der Helm-Referenz in der Cilium-Dokumentation. Im folgenden Beispiel werden alle Cilium-Komponenten so konfiguriert, dass sie nur auf den Hybridknoten ausgeführt werden, da sie die Bezeichnung tragen. eks.amazonaws.com/compute-type: hybrid

    Standardmäßig maskiert Cilium die Quell-IP-Adresse des gesamten Pod-Datenverkehrs, der den Cluster verlässt, für die IP-Adresse des Knotens. Dadurch kann Cilium mit Amazon EKS-Clustern ausgeführt werden, für die Remote-Pod-Netzwerke konfiguriert sind, und mit Clustern, für die keine Remote-Pod-Netzwerke konfiguriert sind. Wenn Sie Masquerading für Ihre Cilium-Bereitstellung deaktivieren, müssen Sie Ihren Amazon EKS-Cluster mit Ihren Remote-Pod-Netzwerken konfigurieren und Ihre Pod-Adressen in Ihrem lokalen Netzwerk bekannt geben. Wenn Sie Webhooks auf Ihren Hybridknoten ausführen, müssen Sie Ihren Cluster mit Ihren Remote-Pod-Netzwerken konfigurieren und Ihre Pod-Adressen über Ihr lokales Netzwerk bekannt geben.

    Eine gängige Methode, Pod-Adressen in Ihrem lokalen Netzwerk zu bewerben, ist die Verwendung von BGP. Um BGP mit Cilium zu verwenden, müssen Sie Folgendes einrichten. bgpControlPlane.enabled: true Weitere Informationen zur BGP-Unterstützung von Cilium finden Sie unter Cilium BGP Control Plane in der Cilium-Dokumentation.

    affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid ipam: mode: cluster-pool operator: clusterPoolIPv4MaskSize: 25 clusterPoolIPv4PodCIDRList: - POD_CIDR operator: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid unmanagedPodWatcher: restart: false envoy: enabled: false
  4. Installieren Sie Cilium auf Ihrem Cluster. Ersetzen Sie es CILIUM_VERSION durch Ihre gewünschte Cilium-Version. Es wird empfohlen, die neueste Patch-Version für Ihre Cilium-Nebenversion auszuführen. Die neueste Patch-Version für eine bestimmte Cilium-Kleinversion finden Sie im Abschnitt Stable Releases der Cilium-Dokumentation. Wenn Sie BGP für Ihre Bereitstellung aktivieren, fügen Sie das --set bgpControlPlane.enabled=true Flag im folgenden Befehl hinzu. Wenn Sie eine bestimmte kubeconfig-Datei verwenden, verwenden Sie das --kubeconfig Flag mit dem Befehl Helm install.

    helm install cilium cilium/cilium \ --version CILIUM_VERSION \ --namespace kube-system \ --values cilium-values.yaml
  5. Mit den folgenden Befehlen können Sie bestätigen, dass Ihre Cilium-Installation erfolgreich war. Sie sollten die cilium-operator Bereitstellung und die cilium-agent Ausführung auf jedem Ihrer Hybridknoten sehen. Außerdem sollten Ihre Hybridknoten jetzt den Status habenReady. Informationen zur Konfiguration von BGP für Cilium finden Sie im nächsten Schritt.

    kubectl get pods -n kube-system
    NAME READY STATUS RESTARTS AGE cilium-jjjn8 1/1 Running 0 11m cilium-operator-d4f4d7fcb-sc5xn 1/1 Running 0 11m
    kubectl get nodes
    NAME STATUS ROLES AGE VERSION mi-04a2cf999b7112233 Ready <none> 19m v1.31.0-eks-a737599
  6. Um BGP mit Cilium zu verwenden, um Ihre Pod-Adressen in Ihrem lokalen Netzwerk zu bewerben, müssen Sie Cilium mit installiert haben. bgpControlPlane.enabled: true Um BGP in Cilium zu konfigurieren, erstellen Sie zunächst eine Datei namens a cilium-bgp-cluster.yaml CiliumBGPClusterConfig mit der peerAddress eingestellten IP-Adresse Ihres lokalen Routers, mit dem Sie peeren. Konfigurieren Sie das localASN und peerASN auf der Grundlage Ihrer lokalen Router-Konfiguration.

    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: ONPREM_ROUTER_ASN peers: - name: "onprem-router" peerASN: PEER_ASN peerAddress: ONPREM_ROUTER_IP peerConfigRef: name: "cilium-peer"
  7. Wenden Sie die Cilium BGP-Cluster-Konfiguration auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-cluster.yaml
  8. Die CiliumBGPPeerConfig Ressource definiert eine BGP-Peer-Konfiguration. Mehrere Peers können dieselbe Konfiguration verwenden und auf die gemeinsame CiliumBGPPeerConfig Ressource verweisen. Erstellen Sie eine Datei mit dem Namencilium-bgp-peer.yaml, um die Peer-Konfiguration für Ihr lokales Netzwerk zu konfigurieren. Eine vollständige Liste der Konfigurationsoptionen finden Sie in der BGP-Peer-Konfiguration in der Cilium-Dokumentation.

    apiVersion: cilium.io/v2alpha1 kind: CiliumBGPPeerConfig metadata: name: cilium-peer spec: timers: holdTimeSeconds: 30 keepAliveTimeSeconds: 10 gracefulRestart: enabled: true restartTimeSeconds: 120 families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
  9. Wenden Sie die Cilium BGP-Peer-Konfiguration auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-peer.yaml
  10. Die CiliumBGPAdvertisement Ressource wird verwendet, um verschiedene Werbetypen und damit verbundene Attribute zu definieren. Erstellen Sie eine Datei mit dem Namen cilium-bgp-advertisement.yaml und konfigurieren Sie die CiliumBGPAdvertisement Ressource mit den gewünschten Einstellungen.

    apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisements labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR" - advertisementType: "Service" service: addresses: - ClusterIP - ExternalIP - LoadBalancerIP
  11. Wenden Sie die Konfiguration von Cilium BGP Advertisement auf Ihren Cluster an.

    kubectl apply -f cilium-bgp-advertisement.yaml

    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.

Führen Sie ein Upgrade von Cilium auf Hybridknoten durch

Lesen Sie vor dem Upgrade Ihrer Cilium-Bereitstellung sorgfältig die Cilium-Upgrade-Dokumentation und die Upgrade-Hinweise, um sich über die Änderungen in der Cilium-Zielversion zu informieren.

  1. Stellen Sie sicher, dass Sie die helm CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation.

  2. Installieren Sie das Cilium Helm Repo.

    helm repo add cilium https://helm.cilium.io/
  3. Führen Sie den Cilium-Upgrade-Pre-Flight-Check durch. Ersetzen Sie es CILIUM_VERSION durch Ihre Zielversion von Cilium. Wir empfehlen, dass Sie die neueste Patch-Version für Ihre Cilium-Nebenversion ausführen. Die neueste Patch-Version für eine bestimmte Cilium-Kleinversion finden Sie im Abschnitt Stable Releases der Cilium-Dokumentation.

    helm install cilium-preflight cilium/cilium --version CILIUM_VERSION \ --namespace=kube-system \ --set preflight.enabled=true \ --set agent=false \ --set operator.enabled=false
  4. Stellen Sie nach der Installation von sichercilium-preflight.yaml, dass die Anzahl der READY Pods der Anzahl der laufenden Cilium-Pods entspricht.

    kubectl get ds -n kube-system | sed -n '1p;/cilium/p'
    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE cilium 2 2 2 2 2 <none> 1h20m cilium-pre-flight-check 2 2 2 2 2 <none> 7m15s
  5. Sobald die Anzahl der READY-Pods gleich ist, stellen Sie sicher, dass der Einsatz von Cilium vor dem Flug ebenfalls als READY 1/1 gekennzeichnet ist. Wenn READY 0/1 angezeigt wird, lesen Sie im Abschnitt CNP-Validierung nach und beheben Sie Probleme mit der Bereitstellung, bevor Sie mit dem Upgrade fortfahren.

    kubectl get deployment -n kube-system cilium-pre-flight-check -w
    NAME READY UP-TO-DATE AVAILABLE AGE cilium-pre-flight-check 1/1 1 0 12s
  6. Löschen Sie den Preflight

    helm uninstall cilium-preflight --namespace kube-system
  7. Während des normalen Clusterbetriebs sollten alle Cilium-Komponenten dieselbe Version ausführen. In den folgenden Schritten wird beschrieben, wie Sie alle Komponenten von einer stabilen Version auf eine spätere stabile Version aktualisieren. Beim Upgrade von einer Nebenversion auf eine andere Nebenversion wird empfohlen, zuerst auf die neueste Patch-Version für die bestehende Cilium-Nebenversion zu aktualisieren. Um Unterbrechungen zu minimieren, stellen Sie die upgradeCompatibility Option auf die ursprüngliche Cilium-Version ein, die Sie in diesem Cluster installiert haben.

    Bevor Sie den Befehl helm upgrade ausführen, sollten Sie die Werte für Ihre Bereitstellung in a speichern cilium-values.yaml oder --set Befehlszeilenoptionen für Ihre Einstellungen verwenden. Der Upgrade-Vorgang überschreibt das Cilium ConfigMap, daher ist es wichtig, dass Ihre Konfigurationswerte beim Upgrade übergeben werden. Wenn Sie BGP verwenden, wird empfohlen, die --set bgpControlPlane=true Befehlszeilenoption zu verwenden, anstatt diese Informationen in Ihrer Wertedatei anzugeben.

    helm upgrade cilium cilium/cilium --version CILIUM_VERSION \ --namespace kube-system \ --set upgradeCompatibility=1.X \ -f cilium-values.yaml
  8. (Optional) Wenn Sie Ihr Upgrade aufgrund von Problemen rückgängig machen müssen, führen Sie die folgenden Befehle aus.

    helm history cilium --namespace kube-system helm rollback cilium [REVISION] --namespace kube-system

Löschen Sie Cilium von Hybridknoten

  1. Führen Sie den folgenden Befehl aus, um alle Cilium-Komponenten aus Ihrem Cluster zu deinstallieren. Beachten Sie, dass die Deinstallation des CNI die Integrität von Knoten und Pods beeinträchtigen kann und daher nicht auf Produktionsclustern durchgeführt werden sollte.

    helm uninstall cilium --namespace kube-system

    Die von Cilium konfigurierten Schnittstellen und Routen werden standardmäßig nicht entfernt, wenn das CNI aus dem Cluster entfernt wird. Weitere Informationen finden Sie unter dem GitHub Problem.

  2. Um die Konfigurationsdateien und Ressourcen auf der Festplatte zu bereinigen, können Sie, wenn Sie die Standardkonfigurationsverzeichnisse verwenden, die Dateien wie im cni-uninstall.shSkript im Cilium-Repository unter gezeigt entfernen. GitHub

  3. Um die benutzerdefinierten Cilium-Ressourcendefinitionen (CRDs) aus Ihrem Cluster zu entfernen, können Sie die folgenden Befehle ausführen.

    kubectl get crds -oname | grep "cilium" | xargs kubectl delete

Installieren Sie Calico auf Hybridknoten

  1. Stellen Sie sicher, dass Sie die Helm-CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation.

  2. Installieren Sie das Cilium Helm Repo.

    helm repo add projectcalico https://docs.tigera.io/calico/charts
  3. Erstellen Sie eine YAML-Datei mit dem Namencalico-values.yaml, die Calico mit Affinität für die Ausführung auf Hybridknoten konfiguriert. Weitere Informationen zu den verschiedenen Calico-Netzwerkmodi finden Sie in der Calico-Dokumentation unter Bestimmung der besten Netzwerkoption.

    1. Ersetzen Sie es POD_CIDR durch die CIDR-Bereiche für Ihre Pods. Wenn Sie Ihren Amazon EKS-Cluster mit Remote-Pod-Netzwerken konfiguriert haben, sollte POD_CIDR das, was Sie für Calico angeben, mit den Remote-Pod-Netzwerken identisch sein. Beispiel, 10.100.0.0/24.

    2. CIDR_SIZEErsetzen Sie es durch die Größe des CIDR-Segments, das Sie jedem Knoten zuweisen möchten. Zum Beispiel 25 für eine Segmentgröße von /25. Weitere Informationen zu CIDR blockSize und zum Ändern von finden Sie unter Ändern der blockSize IP-Pool-Blockgröße in der Calico-Dokumentation.

    3. Im Beispiel unten natOutgoing ist aktiviert und bgp deaktiviert. In dieser Konfiguration kann Calico auf Amazon EKS-Clustern ausgeführt werden, auf denen Remote Pod Network konfiguriert ist, und auf Clustern, für die Remote Pod Network nicht konfiguriert ist. Wenn Sie die Option deaktiviert habennatOutgoing, müssen Sie Ihren Cluster mit Ihren Remote-Pod-Netzwerken konfigurieren und Ihr lokales Netzwerk muss in der Lage sein, den für Ihren Pod bestimmten Datenverkehr ordnungsgemäß weiterzuleiten. CIDRs Eine gängige Methode, Pod-Adressen in Ihrem lokalen Netzwerk bekannt zu geben, ist die Verwendung von BGP. Um BGP mit Calico zu verwenden, müssen Sie es aktivieren. bgp Im folgenden Beispiel werden alle Calico-Komponenten so konfiguriert, dass sie nur auf den Hybridknoten ausgeführt werden, da sie das Label tragen. eks.amazonaws.com/compute-type: hybrid Wenn Sie Webhooks auf Ihren Hybridknoten ausführen, müssen Sie Ihren Cluster mit Ihren Remote-Pod-Netzwerken konfigurieren und Ihre Pod-Adressen in Ihrem lokalen Netzwerk bekannt geben. Im folgenden Beispiel wird konfiguriert. Erhöhen Sie den WertcontrolPlaneReplicas: 1, wenn Sie mehrere Hybridknoten haben und die Komponenten der Calico-Steuerungsebene hochverfügbar ausführen möchten.

      installation: enabled: true cni: type: Calico ipam: type: Calico calicoNetwork: bgp: Disabled ipPools: - cidr: POD_CIDR blockSize: CIDR_SIZE encapsulation: VXLAN natOutgoing: Enabled nodeSelector: eks.amazonaws.com/compute-type == "hybrid" controlPlaneReplicas: 1 controlPlaneNodeSelector: eks.amazonaws.com/compute-type: hybrid calicoNodeDaemonSet: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid csiNodeDriverDaemonSet: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid calicoKubeControllersDeployment: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid typhaDeployment: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid
  4. Installieren Sie Calico auf Ihrem Cluster. CALICO_VERSIONErsetzen Sie es durch Ihre gewünschte Calico-Version (zum Beispiel 3.29.0). In den Calico-Versionen finden Sie die neueste Patch-Version für Ihre Calico-Nebenversion. Es wird empfohlen, die neueste Patch-Version für die Calico-Minor-Version auszuführen. Wenn Sie eine bestimmte kubeconfig Datei verwenden, verwenden Sie das --kubeconfig Flag.

    helm install calico projectcalico/tigera-operator \ --version CALICO_VERSION \ --namespace kube-system \ -f calico-values.yaml
  5. Mit den folgenden Befehlen können Sie überprüfen, ob Ihre Calico-Installation erfolgreich war. Sie sollten die tigera-operator Bereitstellung sehen, den calico-node Agenten, der auf jedem Ihrer Hybridknoten ausgeführt wird, den calico-apiservercsi-node-driver, und calico-kube-controllers bereitgestellt sehen. Außerdem sollten Ihre Hybridknoten jetzt den Status habenReady. Wenn Sie dies verwendennatOutgoing: Disabled, können alle Calico-Komponenten erst erfolgreich gestartet werden, wenn Sie Ihre Pod-Adressen in Ihrem lokalen Netzwerk bekannt geben. Informationen zur Konfiguration von BGP für Calico finden Sie im nächsten Schritt.

    kubectl get pods -A
    NAMESPACE NAME READY STATUS RESTARTS AGE calico-apiserver calico-apiserver-6c77bb6d46-2n8mq 1/1 Running 0 69s calico-system calico-kube-controllers-7c5f8556b5-7h267 1/1 Running 0 68s calico-system calico-node-s5nnk 1/1 Running 0 68s calico-system calico-typha-6487cc9d8c-wc5jm 1/1 Running 0 69s calico-system csi-node-driver-cv42d 2/2 Running 0 68s kube-system coredns-7bb495d866-2lc9v 1/1 Running 0 6m27s kube-system coredns-7bb495d866-2t8ln 1/1 Running 0 157m kube-system kube-proxy-lxzxh 1/1 Running 0 18m kube-system tigera-operator-f8bc97d4c-28b4d 1/1 Running 0 90s
    kubectl get nodes
    NAME STATUS ROLES AGE VERSION mi-0c6ec2f6f79176565 Ready <none> 5h13m v1.31.0-eks-a737599
  6. Wenn du Calico ohne BGP installiert hast, überspringe diesen Schritt. Um BGP zu konfigurieren, erstellen Sie eine Datei namens calico-bgp.yaml mit einer BGPPeer Konfiguration und einem. BGPConfiguration Es ist wichtig, zwischen BGPPeer und BGPConfiguration zu unterscheiden. Das BGPPeer ist der BGP-fähige Router oder die Remote-Ressource, mit der die Knoten in einem Calico-Cluster eine Verbindung herstellen. Die asNumber in der BGPPeer Konfiguration ähnelt der Cilium-Einstellung. peerASN Das BGPConfiguration wird auf jeden Calico-Knoten angewendet und das asNumber für das BGPConfiguration entspricht der Cilium-Einstellung. localASN Ersetzen Sie ONPREM_ROUTER_IPONPREM_ROUTER_ASN,, und LOCAL_ASN im folgenden Beispiel durch die Werte für Ihre lokale Umgebung. Diese keepOriginalNextHop: true Einstellung wird verwendet, um sicherzustellen, dass jeder Knoten nur das Pod-Netzwerk-CIDR ankündigt, dessen Eigentümer er ist.

    apiVersion: projectcalico.org/v3 kind: BGPPeer metadata: name: calico-hybrid-nodes spec: peerIP: ONPREM_ROUTER_IP asNumber: ONPREM_ROUTER_ASN keepOriginalNextHop: true --- apiVersion: projectcalico.org/v3 kind: BGPConfiguration metadata: name: default spec: nodeToNodeMeshEnabled: false asNumber: LOCAL_ASN
  7. Wenden Sie die Datei auf Ihren Cluster an.

    kubectl apply -f calico-bgp.yaml
  8. Bestätigen Sie mit dem folgenden Befehl, dass die Calico-Pods ausgeführt werden.

    kubectl get pods -n calico-system -w
    NAMESPACE NAME READY STATUS RESTARTS AGE calico-apiserver calico-apiserver-598bf99b6c-2vltk 1/1 Running 0 3h24m calico-system calico-kube-controllers-75f84bbfd6-zwmnx 1/1 Running 31 (59m ago) 3h20m calico-system calico-node-9b2pg 1/1 Running 0 5h17m calico-system calico-typha-7d55c76584-kxtnq 1/1 Running 0 5h18m calico-system csi-node-driver-dmnmm 2/2 Running 0 5h18m kube-system coredns-7bb495d866-dtn4z 1/1 Running 0 6h23m kube-system coredns-7bb495d866-mk7j4 1/1 Running 0 6h19m kube-system kube-proxy-vms28 1/1 Running 0 6h12m kube-system tigera-operator-55f9d9d565-jj9bg 1/1 Running 0 73m

Wenn Sie bei diesen Schritten auf Probleme gestoßen sind, lesen Sie die Anleitung zur Fehlerbehebung in der Calico-Dokumentation.

Aktualisieren Sie Calico auf Hybridknoten

Bevor Sie Ihre Calico-Implementierung aktualisieren, sollten Sie die Calico-Upgrade-Dokumentation und die Versionshinweise sorgfältig lesen, um die Änderungen in der Calico-Zielversion zu verstehen. Die Upgrade-Schritte variieren je nachdem, ob Sie Helm, den Calico-Operator und den Typ des Datenspeichers verwenden. Bei den folgenden Schritten wird die Verwendung von Helm vorausgesetzt.

  1. Laden Sie das Operator-Manifest für die Version von Calico herunter, auf die Sie aktualisieren. CALICO_VERSIONErsetzen Sie es beispielsweise v3.29.0 durch die Version, auf die Sie aktualisieren. Stellen Sie sicher, dass Sie das dem v major.minor.patch voranstellen.

    kubectl apply --server-side --force-conflicts \ -f https://raw.githubusercontent.com/projectcalico/calico/CALICO_VERSION/manifests/operator-crds.yaml
  2. Führen Sie das Programm aus, um Ihr Calico-Deployment zu aktualisieren. helm upgrade Ersetzen Sie beispielsweise CALICO_VERSION durch die Version, auf die Sie aktualisieren. v3.29.0 Erstellen Sie die calico-values.yaml Datei aus den Konfigurationswerten, die Sie zur Installation von Calico verwendet haben.

    helm upgrade calico projectcalico/tigera-operator \ --version CALICO_VERSION \ --namespace kube-system \ -f calico-values.yaml

Löschen Sie Calico von Hybridknoten

  1. Führen Sie den folgenden Befehl aus, um die Calico-Komponenten von Ihrem Cluster zu deinstallieren. Beachten Sie, dass die Deinstallation des CNI die Integrität von Knoten und Pods beeinträchtigen kann und nicht auf Produktionsclustern durchgeführt werden sollte. Wenn Sie Calico in einem anderen Namespace installiert haben, kube-system ändern Sie den Namespace im folgenden Befehl.

    helm uninstall calico --namespace kube-system

    Beachten Sie, dass die von Calico konfigurierten Schnittstellen und Routen standardmäßig nicht entfernt werden, wenn Sie das CNI aus dem Cluster entfernen.

  2. Um die Konfigurationsdateien und Ressourcen auf der Festplatte zu bereinigen, entfernen Sie die Calico-Dateien aus den Verzeichnissen und. /opt/cni /etc/cni

  3. Führen Sie die folgenden Befehle aus, um Calico CRDs aus Ihrem Cluster zu entfernen.

    kubectl get crds -oname | grep "calico" | xargs kubectl delete
    kubectl get crds -oname | grep "tigera" | xargs kubectl delete
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.