Kubernetes Troubleshooting Question #019e3a4f
Se o kubectl está falhando ao recuperar informações do cluster, onde você pode encontrar logs de pods para solucionar problemas?
/var/log/pods/
~/.kube/config
/var/log/k8s/
/etc/kubernetes/
Official Explanation / Community Explanations
Quando kubectl falha ao recuperar informações do cluster, os logs dos pods podem ser encontrados em /var/log/pods/ no nó onde o pod está em execução. Este diretório contém logs para cada pod, organizados por UID do pod e nome do contêiner. A localização correta é /var/log/pods/ porque o Kubernetes armazena logs de contêineres lá por padrão ao usar o mecanismo de registro do kubelet.
Como Funciona
Os nós do Kubernetes executam o kubelet, que gerencia pods e seus contêineres. Os logs dos contêineres são escritos em stdout/stderr, e o kubelet captura esses logs e os armazena em /var/log/pods/. Cada pod recebe um subdiretório nomeado após seu UID, e dentro dele, cada contêiner tem seu próprio arquivo de log (por exemplo, 0.log). Este é o local padrão para logs de contêineres ao usar o driver de log json-file ou journald.
Por que o Valor Correto está Certo
/var/log/pods/é o diretório padrão onde o kubelet armazena logs de contêineres. Mesmo quekubectlnão consiga se comunicar com o servidor da API, esses logs ainda estão acessíveis diretamente no nó. Isso o torna uma fonte confiável para solução de problemas quando a conectividade do cluster está quebrada.
Por que os Valores Incorretos estão Errados
~/.kube/configé o arquivo kubeconfig que armazena a configuração de acesso ao cluster (endereço do servidor, credenciais, contexto). Ele não contém logs de pods. Sekubectlfalhar, este arquivo pode estar mal configurado, mas não é uma fonte de logs./var/log/k8s/não é um diretório padrão para logs do Kubernetes. Algumas distribuições podem colocar logs de nível de cluster lá, mas logs de pods não são armazenados neste caminho por padrão./etc/kubernetes/contém arquivos de configuração do cluster (por exemplo, config do kubelet, certificados, manifests). Ele não contém logs de pods. Este diretório é para manifests de pods estáticos e configuração de inicialização do cluster, não logs de tempo de execução.