Kubectx e Kubens, ferramentas para auxiliar na administração do Kubernetes

Por Gaspar Barancelli Junior em 16 de março de 2023

Sabemos que trabalhar com Kubectl no dia a dia se torna algo muito massante, pois é muito verboso.

No mundo real onde temos inúmeras namespaces e clusters Kubernetes, temos que ficar a todo momento trocando o contexto do cluster que desejamos conectar, e quando queremos obter informações de objetos referentes a algum namespaces em especifico temos que ficar adicionando no sufixo dos comandos Kubectl o namespace, algo como -n nomeDoNamespace, esse é um código que repetimos muito e que é muito verboso. Quando estamos lidando com algum incidente, por muitas vezes ficamos horas consultando diversos objetos da mesma namespace, tendo que adicionar esse comando a todo momento, e pensando em diminuir essa verbosidade é que a comunidade desenvolveu o Kubectx e Kubens.

A ideia do Kubectx é facilitar a troca de contexto do Kubectl relacionado aos clusters Kubernetes, como demonstrado no gif a seguir.

1

Já o Kubens auxilia na troca de contexto em relação a namespace, fazendo com que não seja mais necessário concatenar o sufixo de contexto do namespace no final de cada comando Kubectl.

2

Kubectx

Lista de comandos disponíveis:

kubectx                   : lista de contextos
kubectx <NAME>            : troca para o contexto de nome <NAME>
kubectx -                 : volta para o contexto que estava definido anteriormente
kubectx -c, --current     : exibe o nome do contexto atual
kubectx <NEW_NAME>=<NAME> : altera o nome do contexto <NAME> para <NEW_NAME>
kubectx <NEW_NAME>=.      : altera o nome do contexto atual para <NEW_NAME>
kubectx -d <NAME>         : delete o contexto de nome <NAME>
kubectx -u, --unset       : desconecta no contexto

Exemplos de uso:

$ kubectx minikube
#Troca para o contexto "minikube".

$ kubectx -
#Altera o contexto para "oregon".

$ kubectx -
#Altera o contexto para "minikube".

$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
#Cria um contexto chamado "dublin"

Kubens

Lista de comandos disponíveis:

kubens                    : lista os namespaces
kubens <NAME>             : troca o namespace para <NAME>
kubens -                  : altera para o namespace utilizado anteriormente
kubens -c, --current      : existe o nome do namespace definido atualmente

Exemplos de uso:

$ kubens kube-system
#altera o contexto do namespace para "kube-system".

$ kubens -
#retornado para o namespace utilizado anteriormente "default"

Instalação

Atualmente essas são as opções de instalações:

  • kubectl plugins (macOS/Linux)

  • macOS

    • Homebrew (recomendado)

    • MacPorts

  • Linux

    • Debian

    • Arch Linux

    • Homebrew

    • Manual installation

Nesse post não entraremos em detalhes sobre a instalação manual.

Kubectl Plugins

Krew é um gerenciador de plugins para o Kubectl.

kubectl krew install ctx
kubectl krew install ns

Após as instalações serem efetuadas, as ferramentas devem ser acessadas por meio do Kubectl, conforme os exemplos a seguir.

kubectl ctx
# para o Kubectx


kubectl ns
# para o Kubens

macOS

Homebrew

Homebrew é um gerenciador de pacotes para macOS e Linux.

brew install kubectx
MacPorts

MacPorts também é um gerenciador de pacotes para macOS.

sudo port install kubectx

Linux

Debian
sudo apt install kubectx
Arch Linux
sudo pacman -S kubectx
Homebrew

Como mencionado anteriormente Homebrew é um gerenciador de pacotes para macOS e Linux.

brew install kubectx

Esse post teve como base a documentação do Kubectx e Kubens.

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×