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
-
Stellen Sie sicher, dass Sie die Helm-CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation
. -
Installieren Sie das Cilium Helm Repo.
helm repo add cilium https://helm.cilium.io/
-
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 IhreclusterPoolIPv4PodCIDRList
nach der Bereitstellung von Cilium auf Ihrem Cluster nicht ändern. Sie können die Konfiguration auf derclusterPoolIPv4MaskSize
Grundlage Ihrer benötigten Pods pro Knoten vornehmen. Weitere Informationen finden Sie unter Erweiterung des Cluster-Poolsin 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
-
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 Releasesder 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 -
Mit den folgenden Befehlen können Sie bestätigen, dass Ihre Cilium-Installation erfolgreich war. Sie sollten die
cilium-operator
Bereitstellung und diecilium-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
-
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 acilium-bgp-cluster.yaml
CiliumBGPClusterConfig
mit derpeerAddress
eingestellten IP-Adresse Ihres lokalen Routers, mit dem Sie peeren. Konfigurieren Sie daslocalASN
undpeerASN
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"
-
Wenden Sie die Cilium BGP-Cluster-Konfiguration auf Ihren Cluster an.
kubectl apply -f cilium-bgp-cluster.yaml
-
Die
CiliumBGPPeerConfig
Ressource definiert eine BGP-Peer-Konfiguration. Mehrere Peers können dieselbe Konfiguration verwenden und auf die gemeinsameCiliumBGPPeerConfig
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-Konfigurationin 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"
-
Wenden Sie die Cilium BGP-Peer-Konfiguration auf Ihren Cluster an.
kubectl apply -f cilium-bgp-peer.yaml
-
Die
CiliumBGPAdvertisement
Ressource wird verwendet, um verschiedene Werbetypen und damit verbundene Attribute zu definieren. Erstellen Sie eine Datei mit dem Namencilium-bgp-advertisement.yaml
und konfigurieren Sie dieCiliumBGPAdvertisement
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
-
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 Bedienungin 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
-
Stellen Sie sicher, dass Sie die
helm
CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation. -
Installieren Sie das Cilium Helm Repo.
helm repo add cilium https://helm.cilium.io/
-
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 Releasesder 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
-
Stellen Sie nach der Installation von sicher
cilium-preflight.yaml
, dass die Anzahl derREADY
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
-
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
-
Löschen Sie den Preflight
helm uninstall cilium-preflight --namespace kube-system
-
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
-
(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
-
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
. -
Um die Konfigurationsdateien und Ressourcen auf der Festplatte zu bereinigen, können Sie, wenn Sie die Standardkonfigurationsverzeichnisse verwenden, die Dateien wie im
cni-uninstall.sh
Skriptim Cilium-Repository unter gezeigt entfernen. GitHub -
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
-
Stellen Sie sicher, dass Sie die Helm-CLI in Ihrer Befehlszeilenumgebung installiert haben. Installationsanweisungen finden Sie in der Helm-Dokumentation
. -
Installieren Sie das Cilium Helm Repo.
helm repo add projectcalico https://docs.tigera.io/calico/charts
-
Erstellen Sie eine YAML-Datei mit dem Namen
calico-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. -
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, solltePOD_CIDR
das, was Sie für Calico angeben, mit den Remote-Pod-Netzwerken identisch sein. Beispiel,10.100.0.0/24
. -
CIDR_SIZE
Ersetzen Sie es durch die Größe des CIDR-Segments, das Sie jedem Knoten zuweisen möchten. Zum Beispiel25
für eine Segmentgröße von /25. Weitere Informationen zu CIDRblockSize
und zum Ändern von finden Sie unter Ändern derblockSize
IP-Pool-Blockgrößein der Calico-Dokumentation. -
Im Beispiel unten
natOutgoing
ist aktiviert undbgp
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
-
-
Installieren Sie Calico auf Ihrem Cluster.
CALICO_VERSION
Ersetzen Sie es durch Ihre gewünschte Calico-Version (zum Beispiel 3.29.0). In den Calico-Versionenfinden 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 -
Mit den folgenden Befehlen können Sie überprüfen, ob Ihre Calico-Installation erfolgreich war. Sie sollten die
tigera-operator
Bereitstellung sehen, dencalico-node
Agenten, der auf jedem Ihrer Hybridknoten ausgeführt wird, dencalico-apiserver
csi-node-driver
, undcalico-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
-
Wenn du Calico ohne BGP installiert hast, überspringe diesen Schritt. Um BGP zu konfigurieren, erstellen Sie eine Datei namens
calico-bgp.yaml
mit einerBGPPeer
Konfiguration und einem.BGPConfiguration
Es ist wichtig, zwischenBGPPeer
undBGPConfiguration
zu unterscheiden. DasBGPPeer
ist der BGP-fähige Router oder die Remote-Ressource, mit der die Knoten in einem Calico-Cluster eine Verbindung herstellen. DieasNumber
in derBGPPeer
Konfiguration ähnelt der Cilium-Einstellung.peerASN
DasBGPConfiguration
wird auf jeden Calico-Knoten angewendet und dasasNumber
für dasBGPConfiguration
entspricht der Cilium-Einstellung.localASN
Ersetzen SieONPREM_ROUTER_IP
ONPREM_ROUTER_ASN
,, undLOCAL_ASN
im folgenden Beispiel durch die Werte für Ihre lokale Umgebung. DiesekeepOriginalNextHop: 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
-
Wenden Sie die Datei auf Ihren Cluster an.
kubectl apply -f calico-bgp.yaml
-
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
Aktualisieren Sie Calico auf Hybridknoten
Bevor Sie Ihre Calico-Implementierung aktualisieren, sollten Sie die Calico-Upgrade-Dokumentation
-
Laden Sie das Operator-Manifest für die Version von Calico herunter, auf die Sie aktualisieren.
CALICO_VERSION
Ersetzen Sie es beispielsweisev3.29.0
durch die Version, auf die Sie aktualisieren. Stellen Sie sicher, dass Sie das demv
major.minor.patch voranstellen.kubectl apply --server-side --force-conflicts \ -f https://raw.githubusercontent.com/projectcalico/calico/
CALICO_VERSION
/manifests/operator-crds.yaml -
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 diecalico-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
-
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.
-
Um die Konfigurationsdateien und Ressourcen auf der Festplatte zu bereinigen, entfernen Sie die Calico-Dateien aus den Verzeichnissen und.
/opt/cni
/etc/cni
-
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