|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
SUSE Rancher Prime HA
Los comandos/pasos listados en esta página se pueden utilizar para comprobar tu instalación de Rancher Kubernetes.
Asegúrate de que has configurado el kubeconfig correcto (por ejemplo, export KUBECONFIG=$PWD/kube_config_cluster.yml).
Comprobar los Pods de Rancher
Los pods de Rancher se despliegan como un Deployment en el espacio de nombres cattle-system.
Verifica si los pods están en ejecución en todos los nodos:
kubectl -n cattle-system get pods -l app=rancher -o wide
Resultado de ejemplo:
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 no puede ejecutarse (el estado no es Running, el estado de disponibilidad no muestra 1/1 o ves un alto número de reinicios), comprueba los detalles del pod, los registros y los eventos del espacio de nombres.
Comprobar Ingress
Ingress debe tener el HOSTS correcto (mostrando el FQDN configurado) y ADDRESS (dirección(es) del host a las que se redirigirá).
kubectl -n cattle-system get ingress
Resultado de ejemplo:
NAME HOSTS ADDRESS PORTS AGE rancher rancher.yourdomain.com x.x.x.x,x.x.x.x,x.x.x.x 80, 443 2m
Comprobar los Registros del Controlador de Ingress
Cuando accedes a tu FQDN de Rancher configurado y no te muestra la interfaz, comprueba los registros del controlador de ingress para ver qué sucede cuando intentas acceder a Rancher:
kubectl -n traefik logs -l app=traefik
Elección de Líder
El líder se determina mediante un proceso de elección de líder. Una vez que se ha determinado el líder, el líder (holderIdentity) se guarda en el cattle-controllers Lease en el espacio de nombres kube-system (en este ejemplo, rancher-dbc7ff869-gvg6k).
kubectl -n kube-system get lease cattle-controllers
Resultado de ejemplo:
NAME HOLDER AGE cattle-controllers rancher-dbc7ff869-gvg6k 6h10m
Configuración
Disponible a partir de Rancher 2.8.3
Si la API de Kubernetes experimenta latencia, la réplica de Rancher que tiene el bloqueo del líder puede no ser capaz de renovar el lease antes de que este se vuelva inválido, lo que se puede observar en los registros 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
Para mitigar esto, puedes establecer variables de entorno en el rancher Deployment para modificar los parámetros por defecto para la elección de líder:
-
CATTLE_ELECTION_LEASE_DURATION: El duración del lease. El valor por defecto es 45s. -
CATTLE_ELECTION_RENEW_DEADLINE: El plazo de renovación. El valor por defecto es 30s. -
CATTLE_ELECTION_RETRY_PERIOD: El período de reintento. El valor por defecto es 2s.
Ejemplo:
kubectl -n cattle-system set env deploy/rancher CATTLE_ELECTION_LEASE_DURATION=2m CATTLE_ELECTION_RENEW_DEADLINE=90s CATTLE_ELECTION_RETRY_PERIOD=10s
Esto aumentará temporalmente la duración del lease, el plazo de renovación y el período de reintento a 120, 90 y 10 segundos respectivamente. Alternativamente, para hacer que tales cambios sean permanentes, estas variables de entorno pueden ser establecidas mediante usando valores de Helm en su lugar.