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.