27.x
Quando tentei examinar os logs de um pod, obtive: Falha ao carregar logs: Get "https://...?tailLines=502×tamps=true": erro remoto: tls: erro interno Motivo: indefinido (500)
Quando olho os certificados usando o kubeadm, eles parecem válidos até o próximo ano e eu os atualizei em janeiro.
Quando olho para kubectl get csr -AI tenho centenas de csrs pendentes.
Esse problema ocorre devido a solicitações pendentes de assinatura de certificado para nós feitas pelo Kubelet em execução em cada nó. Para verificar os nós pendentes de CSR
Aprove o csr para cada nó
kubectl certificate approve <csr-id\>
, se você tiver muitos nós pendentesPrecisa de mais informações sobre o uso do seu nó
kubectl describe nodes
De acordo com o documento oficial do Kubernetes sobre como habilitar certificados de serviço kubelet assinados : “Uma limitação é que os CSRs (solicitações de assinatura de certificado) para esses certificados não podem ser aprovados automaticamente pelo assinante padrão no arquivo
kube-controller-manager - kubernetes.io/kubelet-serving
. Isso exigirá ação do usuário ou de um controlador terceirizado.”Centenas de CSRs pendentes indicam um congestionamento significativo no processo de emissão de certificados. Siga as etapas de solução de problemas abaixo para limitar a geração de CSRs e problemas de carregamento de log:
O servidor CA pode não ter os recursos necessários para lidar com a carga, portanto, verifique a disponibilidade de recursos para ver se o seu servidor CA tem CPU, memória e recursos de armazenamento suficientes.
Verifique as definições de configuração, como limites de fila de solicitações e limites de simultaneidade.
Verifique se os certificados do seu cluster Kubernetes correspondem ao domínio que você está tentando acessar.
Certifique-se de que o servidor esteja configurado para permitir conexões TLS e tenha os certificados apropriados e o pacote CA em vigor.
Certifique-se de que sua versão do Kubernetes seja compatível com a CA que você está usando.
Edit1: Revertendo tlsBootStrap para falso: Isso pode funcionar temporariamente, mas desativa o gerenciamento automático de certificados, exigindo que você lide manualmente com as renovações de certificados. É uma solução menos ideal a longo prazo
Ao aprovar os CSRs pendentes, isso pode resolver o problema imediatamente, mas você precisa encontrar a causa raiz da geração excessiva de CSR com base nas etapas acima fornecidas na seção de respostas.
Use também a versão estável mais recente do Kubernetes para se beneficiar de correções de bugs e melhorias de segurança.
Como não posso comentar devido à menor reputação, atualizei minha resposta nesta seção de respostas como Edit1.