O Que É o kubectl? A Linha de Comando para Kubernetes
kubectl é a ferramenta de linha de comando que envia suas requisições ao API server do Kubernetes - a principal forma como humanos e pipelines interagem com um cluster.
Tudo o que você faz em um cluster Kubernetes passa pelo seu API server, e o kubectl é o client padrão para ele. Seja inspecionando o que está rodando ou aplicando um novo manifest, o kubectl traduz seu comando em uma chamada de API contra o cluster para o qual seu kubeconfig aponta.
Inspecionando o estado
kubectl get pods- lista pods.kubectl describe deployment web- status e eventos detalhados.kubectl logs <pod>- lê logs de container.kubectl get events- eventos recentes do cluster para debugging.
Alterando o estado
kubectl apply -f manifest.yaml é o burro de carga declarativo - ele cria ou atualiza objetos para coincidir com o arquivo. kubectl rollout status e kubectl rollout undo gerenciam e revertem rollouts.
Context e kubeconfig
O kubectl lê um arquivo kubeconfig que contém clusters, users e contexts. kubectl config use-context troca qual cluster você tem como alvo - crucial para que você nunca rode um comando de prod contra o cluster errado.
Imperativo vs declarativo
Você pode fazer kubectl create ou scale imperativamente, mas aplicar YAML versionado é preferível - é reproduzível e revisável, o que importa para CI/CD.
kubectl em pipelines de CD
Um job de deploy autentica no cluster, depois roda kubectl apply (ou kubectl set image) para lançar a imagem que o CI construiu. Sempre confirme o context alvo no pipeline para evitar erros entre ambientes.
Principais conclusões
- kubectl é o client de CLI para o API server do Kubernetes.
- Prefira o declarativo
kubectl applya comandos imperativos para reprodutibilidade. - Contexts selecionam o cluster alvo - confirme-os antes de qualquer mudança.