Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

SUSE Rancher Prime HA

Les commandes/étapes listées sur cette page peuvent être utilisées pour vérifier votre installation de Rancher Kubernetes.

Assurez-vous d’avoir configuré le bon kubeconfig (par exemple, export KUBECONFIG=$PWD/kube_config_cluster.yml).

Vérifiez les Pods Rancher

Les pods Rancher sont déployés en tant que déploiement dans l’espace de noms cattle-system.

Vérifiez si les pods fonctionnent sur tous les nœuds :

kubectl -n cattle-system get pods -l app=rancher -o wide

Exemple de sortie :

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

Si un pod ne peut pas s’exécuter (le statut n’est pas Running, le statut prêt n’affiche pas 1/1 ou vous voyez un nombre élevé de redémarrages), vérifiez les détails du pod, les journaux et les événements de l’espace de noms.

Détails du pod

kubectl -n cattle-system describe pods -l app=rancher

Journaux des conteneurs du pod

kubectl -n cattle-system logs -l app=rancher

Événements de l’espace de noms

kubectl -n cattle-system get events

Vérifiez l’Ingress

L’Ingress doit avoir le bon HOSTS (affichant le FQDN configuré) et le bon ADDRESS (adresse(s) hôte auxquelles il sera routé).

kubectl -n cattle-system get ingress

Exemple de sortie :

NAME      HOSTS                    ADDRESS                   PORTS     AGE
rancher   rancher.yourdomain.com   x.x.x.x,x.x.x.x,x.x.x.x   80, 443   2m

Vérifiez les journaux du contrôleur d’ingress

Lorsque l’accès à votre FQDN Rancher configuré ne vous montre pas l’interface utilisateur, vérifiez les journaux du contrôleur d’ingress pour voir ce qui se passe lorsque vous essayez d’accéder à Rancher :

kubectl -n traefik logs -l app=traefik

Élection du leader

Le leader est déterminé par un processus d’élection du leader. Une fois le leader déterminé, celui-ci (holderIdentity) est enregistré dans le bail cattle-controllers de l’espace de noms kube-system (dans cet exemple, rancher-dbc7ff869-gvg6k).

kubectl -n kube-system get lease cattle-controllers

Exemple de sortie :

NAME                 HOLDER                    AGE
cattle-controllers   rancher-dbc7ff869-gvg6k   6h10m

Configuration

Disponible depuis Rancher 2.8.3

Si l’API Kubernetes subit une latence, la réplique Rancher détenant le verrou du leader peut ne pas être en mesure de renouveler le bail avant que celui-ci ne devienne invalide, ce qui peut être observé dans les journaux de Rancher :

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

Pour atténuer cela, vous pouvez définir des variables d’environnement dans le rancher déploiement pour modifier les paramètres par défaut de l’élection du leader :

Exemple :

kubectl -n cattle-system set env deploy/rancher CATTLE_ELECTION_LEASE_DURATION=2m CATTLE_ELECTION_RENEW_DEADLINE=90s CATTLE_ELECTION_RETRY_PERIOD=10s

Cela augmentera temporairement la durée du bail, le délai de renouvellement et la période de réessai à 120, 90 et 10 secondes respectivement. Alternativement, pour rendre ces changements permanents, ces variables d’environnement peuvent être définies par en utilisant les valeurs Helm à la place.