O K9s é uma ferramenta poderosa que facilita a navegação, observação e gerenciamento de aplicações Kubernetes.
Iniciando o K9s #
k9s # Iniciar usando kubeconfig padrão
k9s --kubeconfig /caminho/para/config # Usar kubeconfig específico
k9s --context meucontexto # Usar contexto específico
k9s --readonly # Iniciar em modo somente leitura
k9s -n meunamespace # Iniciar em namespace específico
k9s info # Mostrar caminhos de config/logs
k9s help # Listar todas as opções CLI disponíveis
Modo de Comando (:) #
Digite :
seguido do comando para navegar rapidamente:
:pod # Ir para visualização de pods
:svc # Ir para visualização de services
:deploy # Ir para visualização de deployments
:ns # Ir para visualização de namespaces
:no # Ir para visualização de nodes
:ctx # Alterar contexto
:ns # Alterar namespace
:aliases # Mostrar aliases de recursos
:crd # Ver custom resources
:secrets # Ver secrets
:helm # Ver releases do Helm
:xray RECURSO # Mostrar gráfico de relacionamento
:pulse # Visão geral do cluster
:popeye # Executar linter Popeye (exige instalação separada... vai ser o meu próximo passo...)
:dir /caminho # Navegar arquivos no disco
Dica: Use Ctrl-a
para mostrar aliases de recursos
Navegação Básica #
j / ↓ # Mover para baixo
k / ↑ # Mover para cima
h / ← # Mover para esquerda (nos logs)
l / → # Mover para direita (nos logs)
g # Ir para o topo da lista
G # Ir para o final da lista
Ctrl-f # Próxima página
Ctrl-b # Página anterior
Enter # Selecionar item/entrar na visualização
Esc # Sair da visualização/cancelar
Space # Selecionar para ações em lote
Filtragem e Busca #
/padrão # Filtro regex
/!padrão # Filtro regex inverso
/-l chave=valor # Filtrar por label
/-f valor # Busca fuzzy por texto
Exemplos de filtros:
/nginx
- Mostrar recursos com “nginx” no nome/!running
- Excluir recursos com “running” no status/-l app=web
- Filtrar recursos com label app=web
Ações em Recursos #
d # Descrever recurso selecionado
v # Ver detalhes do recurso
e # Editar recurso
y # Copiar YAML para clipboard
l # Ver logs (para pods)
s # Escalar deployment/fazer shell em pod
x # Decodificar secrets
w # Alternar quebra de linha nos logs
f # Alternar modo tela cheia
n # Criar novo recurso
Ações de Exclusão #
Ctrl-d # Deletar (com confirmação)
Ctrl-k # Forçar exclusão imediata
Aviso: Ctrl-k
força a exclusão sem confirmação!
Ordenação (Shift + tecla) #
Shift-c # Ordenar por CPU
Shift-m # Ordenar por Memória
Shift-s # Ordenar por Status
Shift-p # Ordenar por Namespace
Shift-n # Ordenar por Nome
Shift-o # Ordenar por Node
Shift-i # Ordenar por IP
Shift-a # Ordenar por Idade
Shift-t # Ordenar por Reinicializações
Shift-r # Ordenar por Prontidão
Alternadores e Configurações #
Ctrl-w # Alternar layout amplo
Ctrl-z # Alternar log de erros
Ctrl-e # Ocultar/mostrar cabeçalho
Ctrl-s # Salvar saída em arquivo
Ctrl-l # Desfazer última aplicação
0 # Mostrar todos os namespaces
Visualizações Especiais #
:helm # Ver releases do Helm
:xray pods # Visualizar relacionamentos de pods
:pulse # Dashboard do cluster
:popeye # Executar ferramenta de linting (exige instalação separada)
:dir /tmp # Navegar sistema de arquivos
Gerenciamento de Logs #
l # Ver logs do pod selecionado
w # Alternar quebra de linha
f # Alternar modo tela cheia
Ctrl-s # Salvar logs em arquivo
s # Fazer streaming de logs
Navegação nos logs:
h/l
ou←/→
- Rolar horizontalmentej/k
ou↓/↑
- Rolar verticalmenteg/G
- Ir para início/fim
Ações em Pods #
s # Abrir shell no pod
l # Ver logs do pod
d # Descrever pod
e # Editar pod
y # Copiar YAML do pod
Shift-f # Port forward
Ações em Deployments #
s # Escalar deployment
r # Reiniciar deployment
d # Descrever deployment
e # Editar deployment
Ações em Services #
d # Descrever service
e # Editar service
y # Copiar YAML do service
Ações em Namespaces #
Enter # Entrar no namespace
d # Descrever namespace
u # Usar como namespace padrão
Contextos e Configuração #
:ctx # Listar/alterar contextos
:ns # Listar/alterar namespaces
Workflow típico:
- Digite
:ctx
- Selecione o contexto desejado
- Digite
:ns
- Selecione o namespace
Atalhos de Teclado Personalizados #
Você pode criar atalhos personalizados em $HOME/.config/k9s/hotkeys.yaml
:
hotKeys:
shift-0:
shortCut: Shift-0
description: Ver pods
command: pods
shift-1:
shortCut: Shift-1
description: Ver deployments
command: dp
Recursos Comuns e Abreviações #
:po, :pods # Pods
:svc, :services # Services
:deploy, :deployments # Deployments
:rs, :replicasets # ReplicaSets
:ds, :daemonsets # DaemonSets
:sts, :statefulsets # StatefulSets
:job, :jobs # Jobs
:cj, :cronjobs # CronJobs
:no, :nodes # Nodes
:ns, :namespaces # Namespaces
:pv, :persistentvolumes # Persistent Volumes
:pvc, :persistentvolumeclaims # Persistent Volume Claims
:cm, :configmaps # ConfigMaps
:sec, :secrets # Secrets
:sa, :serviceaccounts # Service Accounts
:ing, :ingresses # Ingresses
:sc, :storageclasses # Storage Classes
:crd, :customresourcedefinitions # Custom Resource Definitions
Port Forward #
Shift-f # Iniciar port forward no pod selecionado
Processo do Port Forward:
- Selecione um pod
- Pressione
Shift-f
- Digite a porta local e porta do container
- Exemplo:
8080:80
Benchmark de Pods #
Ctrl-b # Executar benchmark no pod selecionado
Salvar e Aplicar Recursos #
Ctrl-s # Salvar YAML atual
Workflow comum:
- Pressione
Ctrl-s
para salvar YAML - Digite
:dir /tmp/k9s-screens-root
- Encontre o arquivo salvo
- Pressione
e
para editar - Pressione
a
para aplicar
Ajuda e Saída #
? # Mostrar ajuda contextual
Shift-? # Mostrar página de ajuda completa
:q # Sair do K9s
Ctrl-c # Sair do K9s
Dicas e Truques #
Namespaces Favoritos #
- Namespaces marcados com
+
são favoritos - Aparecem no cabeçalho para acesso rápido
- Use
u
em um namespace para marcá-lo como favorito
Seleção Múltipla #
- Use
Space
para selecionar múltiplos recursos - Execute ações em lote nos recursos selecionados
Navegação Estilo Vim #
- K9s usa navegação similar ao Vim
j/k
para cima/baixo,h/l
para esquerda/direitag/G
para início/fim da lista
Monitoramento em Tempo Real #
- K9s atualiza automaticamente a visualização
- Use
:pulse
para uma visão geral do cluster - Monitore recursos críticos facilmente
Filtragem Avançada #
- Combine filtros:
/-l app=web
+/running
- Use regex para filtros complexos
- Filtros inversos com
!
são úteis para excluir
Personalização #
- Configure hotkeys em
~/.config/k9s/hotkeys.yaml
- Customize skins em
~/.config/k9s/skins/
- Configure aliases personalizados
Resolução de Problemas #
Performance #
:pulse # Ver métricas do cluster
Shift-c # Ordenar por CPU
Shift-m # Ordenar por memória
Debugging #
:popeye # Executar linter do cluster (exige instalação separada)
l # Ver logs detalhados
d # Descrever recursos com problemas
Conectividade #
:ctx # Verificar contexto ativo
:ns # Verificar namespace ativo
Shift-f # Testar port forward