|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
SUSE Rancher Prime HA
Die auf dieser Seite aufgeführten Befehle/Schritte können verwendet werden, um Ihre Rancher Kubernetes-Installation zu überprüfen.
Stellen Sie sicher, dass Sie die korrekte kubeconfig konfiguriert haben (zum Beispiel export KUBECONFIG=$PWD/kube_config_cluster.yml).
Überprüfen Sie die Rancher-Pods
Rancher-Pods werden als Implementierung im cattle-system Namespace bereitgestellt.
Überprüfen Sie, ob die Pods auf allen Knoten laufen:
kubectl -n cattle-system get pods -l app=rancher -o wide
Beispielausgabe:
NAME READY STATUS RESTARTS AGE IP NODE rancher-7dbd7875f7-n6t5t 1/1 Running 0 8m x.x.x.x x.x.x.x rancher-7dbd7875f7-qbj5k 1/1 Running 0 8m x.x.x.x x.x.x.x rancher-7dbd7875f7-qw7wb 1/1 Running 0 8m x.x.x.x x.x.x.x
Wenn ein Pod nicht ausgeführt werden kann (Status ist nicht Running, der Bereit-Status zeigt nicht 1/1 an oder Sie sehen eine hohe Anzahl von Neustarts), überprüfen Sie die Pod-Details, Protokolle und Namespace-Ereignisse.
Überprüfen Sie den Ingress
Der Ingress sollte die korrekte HOSTS (die konfigurierte FQDN anzeigend) und ADDRESS (Hostadresse(n), an die weitergeleitet wird) haben.
kubectl -n cattle-system get ingress
Beispielausgabe:
NAME HOSTS ADDRESS PORTS AGE rancher rancher.yourdomain.com x.x.x.x,x.x.x.x,x.x.x.x 80, 443 2m
Überprüfen Sie die Protokolle des Ingress-Controllers
Wenn der Zugriff auf Ihre konfigurierte Rancher FQDN Ihnen nicht die Benutzeroberfläche anzeigt, überprüfen Sie die Protokollierung des Ingress-Controllers, um zu sehen, was passiert, wenn Sie versuchen, auf Rancher zuzugreifen:
kubectl -n traefik logs -l app=traefik
Wahl des Leiters
Der Leiter wird durch einen Leader-Election-Prozess bestimmt. Nachdem der Leiter bestimmt wurde, wird der Leiter (holderIdentity) im cattle-controllers Lease im kube-system Namespace gespeichert (in diesem Beispiel, rancher-dbc7ff869-gvg6k).
kubectl -n kube-system get lease cattle-controllers
Beispielausgabe:
NAME HOLDER AGE cattle-controllers rancher-dbc7ff869-gvg6k 6h10m
Konfiguration
Verfügbar ab Rancher 2.8.3
Wenn die Kubernetes-API Verzögerungen aufweist, kann es sein, dass die Rancher-Replica, die den Leader-Lock hält, das Lease nicht erneuern kann, bevor es ungültig wird, was in den Rancher-Protokollen beobachtet werden kann:
E0629 04:13:07.293461 34 leaderelection.go:364] Failed to update lock: Put "https://172.17.0.1:443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/cattle-controllers?timeout=15m0s": context deadline exceeded I0629 04:13:07.293594 34 leaderelection.go:280] failed to renew lease kube-system/cattle-controllers: timed out waiting for the condition ... 2024/06/29 04:13:10 [FATAL] leaderelection lost for cattle-controllers
Um dies zu mildern, können Sie Umgebungsvariablen in der rancher Implementierung festlegen, um die Standardparameter für die Wahl des Leaders zu ändern:
-
CATTLE_ELECTION_LEASE_DURATION: Die Lease-Dauer. Der Standardwert beträgt 45s. -
CATTLE_ELECTION_RENEW_DEADLINE: Die Erneuerungsfrist. Der Standardwert beträgt 30s. -
CATTLE_ELECTION_RETRY_PERIOD: Die Wiederholungsperiode. Der Standardwert beträgt 2s.
Beispiel:
kubectl -n cattle-system set env deploy/rancher CATTLE_ELECTION_LEASE_DURATION=2m CATTLE_ELECTION_RENEW_DEADLINE=90s CATTLE_ELECTION_RETRY_PERIOD=10s
Dies wird die Lease-Dauer, die Erneuerungsfrist und die Wiederholungsperiode vorübergehend auf 120, 90 und 10 Sekunden erhöhen. Alternativ können diese Umgebungsvariablen dauerhaft festgelegt werden, indem Helm-Werte verwenden stattdessen verwendet wird.