Detalhamento da configuração do Kubelet relevante para o CKS.
O Kubelet em cada nó lê um arquivo de configuração (config file) e aceita argumentos na linha de comando. O CIS Benchmark e o kube-bench exigem que esse arquivo tenha permissões restritas (apenas root leitura) e que a autenticação/autorização esteja correta (ex.: client CA para certificados).
/var/lib/kubelet/config.yaml
Em alguns ambientes o path pode ser outro (ex.: passado via --config no serviço do kubelet). O kube-bench costuma indicar o path usado no nó.
O arquivo de configuração do kubelet não deve ser legível por outros usuários:
chmod 600 /var/lib/kubelet/config.yaml
Assim apenas o dono (normalmente root) pode ler e escrever.
Para que o Kubelet verifique certificados de clientes (ex.: API server, audit), o config ou os argumentos do Kubelet devem definir:
No YAML (ex.: config.yaml):
authentication:
x509:
clientCAFile: /path/to/ca.crt
Isso está alinhado às recomendações CIS para o Kubelet.
O kube-bench com --targets=node verifica, entre outras coisas:
Corrija os FAIL seguindo as instruções impressas pelo kube-bench (chmod, paths, etc.).
/var/lib/kubelet/config.yaml).chmod 600 no config é uma correção muito comum após rodar kube-bench.