Na ecossistema do Kubernetes, o arquivo kubeconfig funciona como a principal ferramenta para configurar e gerenciar a conexão com os clusters. Ele garante uma interação segura com a infraestrutura, ajuda a organizar o acesso dos usuários e facilita a troca entre diferentes clusters e ambientes. Sem ele, trabalhar com Kubernetes via linha de comando seria muito mais difícil e menos seguro.
Neste artigo, vamos detalhar:
- o que é kubeconfig,
- onde ele é armazenado,
- como ele é estruturado,
- e como trabalhar com ele.
O que é kubeconfig?
kubeconfig é um arquivo de configuração que contém informações sobre:
- clusters Kubernetes (endereços dos servidores API),
- usuários (credenciais),
- contextos (conjuntos de configurações que vinculam cluster e usuário),
- namespaces padrão.
Ele é usado pela ferramenta CLI kubectl (e por outros clientes) para conectar aos clusters Kubernetes e executar comandos.
Onde encontrá-lo?
Por padrão, o Kubernetes espera o arquivo de configuração kubeconfig no local padrão dentro do diretório home do usuário: ~/.kube/config
No entanto, você pode usar um arquivo alternativo, indicando o caminho por meio de:
- a variável de ambiente KUBECONFIG,
- a flag --kubeconfig ao executar o kubectl.
Exemplo:
Como é estruturado o kubeconfig?
O arquivo é escrito no formato YAML. Abaixo está um exemplo da sua estrutura básica:
users:
name: meu-usuario
user:
client-certificate: /caminho/para/client.crt
client-key: /caminho/para/client.key
contexts:
name: meu-contexto
context:
cluster: meu-cluster
user: meu-usuario
namespace: default
current-context: meu-contexto
Seções principais:
- clusters — contém informações de um ou mais clusters, incluindo endereço e certificado CA.
- users — descreve os usuários e suas credenciais de autenticação.
- contexts — vincula um cluster específico a um usuário.
- current-context — define qual contexto está sendo usado por padrão.
Gerenciando contextos
Você pode gerenciar contextos usando os comandos do kubectl config:
Para que serve o kubeconfig?
O arquivo kubeconfig permite:
- Conectar-se a múltiplos clusters a partir do mesmo dispositivo.
- Armazenar de forma segura chaves de acesso e certificados TLS.
- Simplificar os processos de autenticação e autorização.
- Oferecer flexibilidade ao trabalhar com diferentes ambientes (por exemplo, dev, staging, produção).
Dicas de segurança
- Não compartilhe o kubeconfig por canais inseguros.
- Armazene o arquivo em um diretório protegido com permissões restritas.
- Remova contextos e contas antigas ou não utilizadas.
Conclusão
O arquivo kubeconfig é o elo entre o usuário e o cluster Kubernetes. Ele reúne os dados principais sobre clusters, usuários e contextos, garantindo a execução segura e eficiente de comandos via kubectl
.
A plataforma Serverspace oferece uma maneira prática de implantar e gerenciar clusters Kubernetes. Após criar um cluster, você pode baixar imediatamente o arquivo kubeconfig pronto no painel de controle e começar a trabalhar com o cluster no terminal ou automatizar processos em CI/CD.
Seja trabalhando localmente, na nuvem ou em uma infraestrutura híbrida — um kubeconfig bem configurado é a base para uma interação estável e segura com o Kubernetes.