Gerenciamento eficiente de clusters Kubernetes com a ferramenta K9S

Gerenciamento eficiente de clusters Kubernetes com a ferramenta K9S

Hoje em dia temos diversos ambientes de produção, e nestes ambientes o orquestrador mais utilizado é o Kubernetes. Com a evolução da infraestrutura de serviço esse trabalho de gerenciamento tornou-se fundamental não somente para disponibilidade mas também para o crescimento do negócio. Com tantas possibilidades plataformas, gerenciar vários clusters é uma tarefa árdua e toda ajuda é bem vinda em um ambiente de operação.

O K9S é uma ferramenta OpenSource que entrega uma interface gratuita para interação com o Kubernetes via terminal. Tendo como principal objetivo facilitar a navegação, observação e gerenciamento de deployments no cluster.

Sendo multiplataforma o K9S pode ser instalado nos principais sistemas operacionais do mercado (Linux, Windows e macOS), e consegue gerenciar qualquer infraestrutura de implantação de um cluster Kubernetes (multiCloud e/ou on-premise). O K9s observa continuamente o Kubernetes em busca de alterações e oferece comandos subsequentes para interagir com seus recursos observados.

E falando sobre recursos, o K9S consegue interagir com todos os objetos e estruturas do kubernetes do PersistentVolume ao POD, sendo este a menor unidade gerenciável de um cluster Kubernetes. Dentre alguns recursos podemos destacar:

  • Rastreamento de atividades em tempo real de recursos em execução;
  • Rastreia métricas em tempo real associadas a recursos como pods, contêineres e nós;
  • Fornece uma visão geral de seus recursos de cluster por meio de exibições de pulsos e raios X;
  • Suporte para visualização de regras RBAC, como cluster/funções e suas vinculações associadas;
  • Fornece alternâncias para visualizar definições mínimas ou completas de recursos;
  • Você pode testar seus serviços/pods em HTTP diretamente do K9s para ver como seu aplicativo se comporta e ajustar sua solicitação/limite de recursos de acordo com a demanda;
  • Fornece comandos padrão de gerenciamento de cluster, como logs, dimensionamento, encaminhamento de portas, reinicializações…
  • Suporte de plug-in para estender K9s para criar seus próprios comandos de cluster.
  • Modo de filtragem para permitir ao usuário detalhar e visualizar recursos relacionados as suas cargas de trabalho..

Então vamos pôr a mão na massa?

A instalação da ferramenta é bem simples e vamos utilizar a distribuição Linux Debian 10:

$ curl -sS https://webi.sh/k9s | sh

Ao final da instalação temos que recarregar nosso arquivo PATH, para isso execute o comando a seguir:

$ source ~/.config/envman/PATH.env

Agora pronto, já temos nosso K9S instalado! Por padrão o k9s assumirá as configurações do kubectl, ou seja, ele assumirá a conexão ao cluster com o profile default.

Para acessar basta difitar no terminal:

k9s

 

Há outras maneiras para iniciar o k9s, essas maneiras correspondem na adição de opções no comando de inicialização do aplicativo, dessa forma você pode abrir o k9s já listando determinados objetos que você deseja visualizar.

Para iniciar o k9s indicando o acesso ao objeto deploymnent digite:

k9s -c dp

-c corresponde ao argumento de linha de comando indicando que você passará um valor;
dp este valor informado corresponde a nomeclatura deployment e assim indico que quero acessar diretamente este objeto.

Para consultar outras opções digite no terminal:

k9s help

Para obter informações sobre o tempo de execução do K9s (logs, configurações, etc.)

k9s info

Para executar K9s em um determinado namespace

k9s -n [namespace]

Iniciar K9s em um contexto KubeConfig existente

k9s --context coolCtx

Inicie o K9s no modo somente leitura – com todos os comandos de modificação de cluster desativados

k9s --readonly

Caso queria a conexão direta no seu namespace e também listar todos os pods, você pode concatenar os comandos e direcionar a conexão:

k9s -n [namespace] -c po

Namespace e PODs

Pelo k9s podemos analizar logs de diferentes tipos de objetos como pod, serviços e deploys:

Logs

Para uma visão mais organizada por meio de um dashboard, você pode utilizar o pulse para montar essa visualização:

Pulse

Outra funcionalidade bem bacana para a gestão do cluster é listar o RBAC por completo e já saber qual status cada item está:

RBAC

Espero que tenham gostado, até mais pessoal!

Anterior Acesso a dados SQL Server através do PostgreSQL: um guia prático
Próxima Guia Prático: Como Instalar e Configurar o K3D para Kubernetes

About author

Jeovany Batista
Jeovany Batista 8 posts

Formado em Segurança da Informação, trabalha com tecnologia há 11 anos, atualmente é Analista de Infraestrutura e Monitoramento na 4Linux, nas horas vagas se aventura na culinária e nos games. Entusiasta em opensource tools e no momento curtindo a distro OpenSuse!

View all posts by this author →

Você pode gostar também

Infraestrutura TI

Entenda a Alta Disponibilidade com Pacemaker e Corosync

Fugindo um pouco dos tópicos mais quentes como Cloud Pública, IaC, DevOps e SRE, hoje veremos alguns elementos que são usados como base de muitos serviços que utilizamos: Clusters. Entender

Infraestrutura TI

Domine o Vim: o editor de texto essencial para Sysadmins Linux

Para um Sysadmin Linux, possuir domínio de editores de texto via linha de comando é imprescindível. Constantemente temos a necessidade de alterar arquivos, visualizar  o contéudo, abrir mais de um

Cloud

Guia prático: Como usar o Terraform para gerenciar sua infraestrutura na nuvem

Terraform é uma ferramenta de código aberto comumente utilizada para construir, alterar e versionar uma infraestrutura de forma segura e eficiente, através de uma linguagem declarativa. A ferramenta é escrita