Skip to main content

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

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

alt text alt text


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.

info

+------------------------------------------+ | 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çãoComando Principal
Aplicar configuraçãokubectl apply -f <arquivo>
Listar podskubectl get pods
Descrever podkubectl describe pod <nome>
Entrar no containerkubectl exec -it <pod> -- bash
Listar serviçoskubectl get svc
Ver nodeskubectl get nodes -o wide
Ver ReplicaSetskubectl get rs
Histórico de Deploymentkubectl rollout history deployment <nome>
Trocar contextokubectl config use-context <nome-contexto>