Detalhamento dos comandos de contexto e kubeconfig para o CKS.
O kubeconfig é o arquivo que define clusters, usuários e contextos. Um contexto associa um usuário a um cluster e (opcionalmente) a um namespace. No exame CKS é comum precisar listar contextos, trocar de contexto e extrair dados do kubeconfig (ex.: certificados).
--kubeconfig for passado, só esse arquivo é usado.KUBECONFIG estiver definida, os caminhos são mesclados.~/.kube/config.| Ação | Comando |
|---|---|
| Listar todos os contextos | kubectl config get-contexts |
| Listar só os nomes | kubectl config get-contexts -o name |
| Salvar nomes em arquivo (um por linha) | kubectl config get-contexts -o name \| tr " " "\n" > /opt/course/1/contexts |
| Trocar de contexto | kubectl config use-context <context-name> |
O kubeconfig guarda certificados em Base64. Para obter o PEM do certificado de um usuário:
kubectl config view --raw -o jsonpath='{.users[?(@.name=="restricted@infra-prod")].user.client-certificate-data}' | base64 -d > /opt/course/1/cert
--raw: evita que secrets/certs sejam ofuscados.jsonpath: filtra o usuário pelo nome e pega client-certificate-data.base64 -d: decodifica e gera o arquivo PEM.k como alias de kubectl para ganhar tempo.kubectl config current-context.-o name.