Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

SUSE Rancher Prime HA

Os comandos/passos listados nesta página podem ser usados para verificar sua instalação do Rancher Kubernetes.

Certifique-se de que você configurou o kubeconfig correto (por exemplo, export KUBECONFIG=$PWD/kube_config_cluster.yml).

Verifique os Pods do Rancher

Os pods do Rancher são implantados como um Deployment no namespace cattle-system.

Verifique se os pods estão em execução em todos os nós:

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

Saída de exemplo:

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

Se um pod não conseguir ser executado (o status não é Running, o status de Pronto não está mostrando 1/1 ou você vê uma alta contagem de Reinicializações), verifique os detalhes do pod, logs e eventos do namespace.

Detalhes do Pod

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

Logs do Container do Pod

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

Eventos do Namespace

kubectl -n cattle-system get events

Verifique o Ingress

O Ingress deve ter o HOSTS correto (mostrando o FQDN configurado) e ADDRESS (endereço(s) do host para os quais será roteado).

kubectl -n cattle-system get ingress

Saída de exemplo:

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

Verifique os Logs do Ingress Controller

Quando o FQDN do Rancher configurado não exibir a interface, verifique os logs do controlador de ingress para entender o que ocorre ao tentar acessar o Rancher:

kubectl -n traefik logs -l app=traefik

Eleição de Líder

O líder é determinado por um processo de eleição de líder. Depois que o líder foi determinado, o líder (holderIdentity) é salvo no Lease cattle-controllers no namespace kube-system (neste exemplo, rancher-dbc7ff869-gvg6k).

kubectl -n kube-system get lease cattle-controllers

Saída de exemplo:

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

Configuração

Disponível a partir do Rancher 2.8.3

Se a API do Kubernetes experimentar latência, a réplica do Rancher que detém o bloqueio de líder pode não conseguir renovar o lease antes que ele se torne inválido, o que pode ser observado nos logs do 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 isso, você pode definir variáveis de ambiente no rancher Deployment para modificar os parâmetros padrão para a eleição de líder:

Exemplo:

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

Isso aumentará temporariamente a duração do lease, o prazo de renovação e o período de tentativa para 120, 90 e 10 segundos, respectivamente. Alternativamente, para tornar essas alterações permanentes, essas variáveis de ambiente podem ser definidas por usando valores do Helm em vez disso.