Detalhamento do kube-bench e do CIS Kubernetes Benchmark para o CKS.
O kube-bench é uma ferramenta que verifica se o cluster está configurado de acordo com o CIS Kubernetes Benchmark. Ele roda checagens em YAML e gera um relatório PASS/FAIL. No exame CKS é comum rodar kube-bench, interpretar falhas e aplicar as correções indicadas (permissões de arquivos, argumentos de componentes, etc.).
# Control plane (master)
kube-bench run --targets=master
# Uma checagem específica (ex.: 1.3.2)
kube-bench run --targets=master --check='1.3.2'
# Node (kubelet, kube-proxy)
kube-bench run --targets=node
| ID / Área | Problema | Correção |
|---|---|---|
| 1.3.2 Controller Manager | Profiling habilitado | Em kube-controller-manager.yaml (manifest estático): garantir --profiling=false. |
| 1.1.12 etcd | Dono do diretório de dados | chown etcd:etcd /var/lib/etcd (ou o path usado pelo etcd). |
| 4.1.9 Kubelet | Permissões do config | chmod 600 /var/lib/kubelet/config.yaml. |
| 1.2.x API Server | NodePort / insecure | Remover --kubernetes-service-node-port e fazer backup fora de manifests (ver 3.4). |
/etc/kubernetes/manifests//var/lib/kubelet/config.yaml (ou o path indicado no seu ambiente)kube-bench run --targets=master (e/ou --targets=node).Em clusters managed (GKE, EKS, AKS) não há acesso ao control plane; kube-bench costuma rodar só nos nodes (–targets=node). No exame CKS o ambiente costuma ser um cluster que você controla (ex.: Killercoda ou VM com kubeadm).