Google Cloud|12labs Platform
Cloud Shell
Google Cloud Platform > Kubernetes & GKE > Guia Didático

Desvendando o Kubectl

Aprenda o que é o Kubernetes, entenda a função de Pods e Deployments e domine a ferramenta oficial de comando do cluster.

Praticar no Cloud Shell →

#01A Grande Analogia: O que é o Kubernetes e o Kubectl?

Imagine que o Kubernetes é um gigantesco navio cargueiro automatizado. Ele transporta centenas de contêineres e possui um cérebro central (o Control Plane / API Server) que vigia tudo. Se uma carga balança ou quebra, ele substitui imediatamente.

E onde entra o Kubectl?

O kubectl (pronuncia-se "kube-control") é o walkie-talkie que você, engenheiro, segura na mão. Você não mexe nos contêineres diretamente; você fala no walkie-talkie: "Capitão, mostre-me como estão os contêineres do setor hairtime-hml", e o capitão responde com os relatórios na tela.

#02Os 3 Pilares que você precisa entender

Antes de rodar qualquer comando, você precisa saber com quem está falando:

1. A Menor Unidade

Pod

É a casa onde seu container (Docker) mora. Um Pod possui um IP interno efêmero. Atenção: Pods nascem e morrem a qualquer momento.

kubectl get pods
2. O Supervisor

Deployment

É o gerente que cuida dos Pods. Se você pediu 3 réplicas e 1 Pod travar, o Deployment cria outro imediatamente para manter sempre 3 réplicas ativas.

kubectl get deployments
3. O Porteiro Fixo

Service & Ingress

Como os Pods mudam de IP toda vez que reiniciam, o Service dá um endereço interno fixo. E o Ingress abre a rota de internet com SSL.

kubectl get svc,ingress

#03A Fórmula Mágica do Kubectl

Todo comando do Kubectl segue a mesma estrutura previsível de linguagem natural:

# Fórmula geral:
kubectl [AÇÃO] [RECURSO] [NOME] -n [NAMESPACE]
AÇÃO:get, describe, logs, rollout
RECURSO:pod, deployment, svc
NOME:hairtime-api, docs
-n NAMESPACE:hairtime-hml, docs

#04Os Modos de Operação no Dia a Dia

Modo 1: Investigador (Raio-X do Cluster)

Usado para enxergar o que está acontecendo sem alterar nada:

kubectl get pods -n docs

Lista os pods do namespace e indica o status em tempo real.

kubectl logs -f <nome-do-pod> -n docs

Exibe os logs em streaming contínuo da aplicação.

kubectl describe pod <nome-do-pod> -n docs

Exibe todos os detalhes, estado de containers e a tabela de Events.

Modo 2: Operador (Reinício e Escala sem Queda)
kubectl rollout restart deployment/<nome> -n <ns>

Reinicia todos os pods gradualmente (cria os novos antes de desligar os velhos), garantindo zero downtime.

#05Guia Rápido de Erros Comuns

CrashLoopBackOff
Erro de Aplicação

A aplicação iniciou, deu um erro fatal e fechou. O Kubernetes tentou religar, deu erro de novo e agora está aguardando um intervalo exponencial.

Como resolver:Use 'kubectl logs <pod> -n <ns>' para ver a stacktrace ou mensagem de erro da sua aplicação (ex: falha de conexão com banco, variável faltando).
ImagePullBackOff / ErrImagePull
Erro de Registro

O Kubernetes não conseguiu baixar a imagem Docker do registro privado ou público.

Como resolver:Verifique se o nome/tag da imagem está correto ou se o namespace possui o secret 'imagePullSecrets' com autorização para registros privados.
Pending
Falta de Recursos

O pod foi criado, mas ainda não encontrou nenhuma máquina (nó) disponível com recursos suficientes para executá-lo.

Como resolver:Use 'kubectl describe pod <pod> -n <ns>'. Geralmente a seção de eventos indicará 'Insufficient memory' ou 'Insufficient cpu'.

Pratique agora no Cloud Shell!

Diagnostique eventos reais de CrashLoopBackOff e Pending no nosso simulador de cluster.

Abrir Cloud Shell