Documentação de Comandos Kubernetes (kubectl) | Kubernetes
- Documentação de Comandos Kubernetes (kubectl) | Kubernetes

O kubectl é a ferramenta de linha de comando do Kubernetes usada para interagir com o cluster.
Com ele, é possível criar, visualizar, modificar e deletar recursos do Kubernetes como Pods, Services, Deployments, Nodes e muito mais.
+------------------------------------------+ | kubectl | | (cliente universal para qualquer cluster)| +------------------------------------------+ | usa o kubeconfig v +------------------------------------------+ | Clusters Kubernetes criados por: | | | | • k3s → leve e simplificado | | • minikube → local e de desenvolvimento| | • kubeadm → completo e configurável | +------------------------------------------+
⚙️ 1. Comandos Gerais
Esses são comandos básicos e essenciais para gerenciar objetos dentro de um cluster Kubernetes.
▶️ Aplicar configurações (apply)
Aplica configurações a objetos no Kubernetes. É utilizado para criar, atualizar ou deletar recursos com base em arquivos YAML/JSON.
kubectl apply -f ./Kubernetes/primeiro-exemplo.yaml
❌ Deletar Pods (delete)
Remove um pod específico ou todos os pods descritos em um arquivo YAML.
kubectl delete pod <nome-pod>
ou
kubectl delete -f <caminho-arquivo-yaml>
Deletar todos os Pods:
kubectl delete pods --all
📋 Listar Pods (get pods)
Exibe todos os pods existentes no cluster e seu status.
A flag --watch permite acompanhar as mudanças em tempo real, e -o wide mostra informações adicionais.
kubectl get pods --watch
kubectl get pods -o wide
Buscar por namespace específico:
kubectl get pods --namespace=<nome-do-namespace>
🔍 Descrever Pods (describe)
Mostra detalhes sobre um pod, incluindo eventos, IPs, imagens e containers.
kubectl describe pod <nome-pod>
💻 Executar dentro de um Pod (exec)
Permite entrar no container em execução, similar ao docker exec -it.
kubectl exec -it <nome-pod> -- bash
🌐 2. Services (SVC)
Um Service é um recurso fundamental no Kubernetes que fornece uma forma de expor aplicações dentro ou fora do cluster de forma estável.
Listar Services:
kubectl get svc
Deletar todos os Services:
kubectl delete svc --all
🖥️ 3. Nodes
Os NodePorts são um tipo de serviço que expõe aplicações do cluster para o mundo externo. Eles atribuem uma porta alta (30000–32767) em cada nó e redirecionam o tráfego para o serviço correto.
kubectl get nodes -o wide
📦 4. ReplicaSets
Os ReplicaSets garantem que o número desejado de réplicas de pods esteja sempre em execução.
kubectl get replicasets
kubectl get rs --watch
🚀 5. Deployments
O Deployment gerencia versões de pods, controlando atualizações e rollbacks.
Listar Deployments:
kubectl get deployments
Ver histórico de versões (rollouts):
kubectl rollout history deployment nginx-deployment
Adicionar causa da modificação (change-cause):
kubectl annotate deployment nginx-deployment kubernetes.io/change-cause="Definindo a imagem com versão latest"
⚙️ 6. Configurações e Contextos (kubectl config)
Os contextos permitem alternar entre diferentes clusters, usuários e namespaces com facilidade.
Um contexto no Kubernetes combina:
- Cluster: onde os recursos estão sendo executados.
- User (Usuário): credenciais de autenticação.
- Namespace: escopo padrão dos comandos.
🔎 Ver contexto atual
kubectl config current-context
👀 Visualizar configurações
kubectl config view
🧩 Criar um novo contexto
kubectl config set-context theithollow \
--namespace=hollow-namespace \
--cluster=kubernetes \
--user=kubernetes-admin
💡 Se estiver usando Kubernetes via Docker Desktop, altere:
--cluster=docker-desktop --user=docker-desktop
🔄 Trocar de contexto
kubectl config use-context theithollow
🧾 7. Resumo Geral de Uso
| Ação | Comando Principal |
|---|---|
| Aplicar configuração | kubectl apply -f <arquivo> |
| Listar pods | kubectl get pods |
| Descrever pod | kubectl describe pod <nome> |
| Entrar no container | kubectl exec -it <pod> -- bash |
| Listar serviços | kubectl get svc |
| Ver nodes | kubectl get nodes -o wide |
| Ver ReplicaSets | kubectl get rs |
| Histórico de Deployment | kubectl rollout history deployment <nome> |
| Trocar contexto | kubectl config use-context <nome-contexto> |