Contexts | Kubernetes
- Contexts | Kubernetes
O que é um Context no Kubernetes?
Um context no Kubernetes é uma configuração que define qual cluster, qual usuário e qual namespace você deseja usar por padrão ao executar comandos kubectl. Ele funciona como um "perfil" que facilita a troca entre múltiplos ambientes, como produção, homologação, desenvolvimento ou clusters locais como o minikube.
A definição de contextos fica armazenada no arquivo:
~/.kube/config
Componentes de um Context
Um contexto é formado por três partes principais:
1. Cluster
O endpoint da API que você deseja acessar. Exemplos: minikube, prod-cluster, eks-dev.
2. User
Credenciais associadas ao acesso ao cluster. Pode ser uma chave, token, role cloud provider etc.
3. Namespace
O namespace padrão que será usado ao executar comandos kubectl.
Um contexto pode ser representado assim:
contexts:
- name: minikube
context:
cluster: minikube
user: minikube
namespace: default
Comandos Essenciais
🔄 Listar contextos disponíveis
kubectl config get-contexts
⭐ Visualizar o contexto atual
kubectl config current-context
🔀 Alterar o contexto ativo
kubectl config use-context <nome-do-context>
Exemplo:
kubectl config use-context minikube
✏️ Renomear um contexto
kubectl config rename-context <contexto-antigo> <contexto-novo>
🆕 Criar um novo contexto manualmente
kubectl config set-context <nome> \
--cluster=<cluster> \
--user=<usuario> \
--namespace=<namespace>
🗑️ Remover um contexto
kubectl config delete-context <nome>
Exemplos Práticos
➜ Trocar rapidamente entre clusters
kubectl config use-context dev-cluster
kubectl config use-context prod-cluster
➜ Definir namespace padrão em um contexto existente
kubectl config set-context --current --namespace=observability