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
Pelo k9s podemos analizar logs de diferentes tipos de objetos como pod, serviços e deploys:
Para uma visão mais organizada por meio de um dashboard, você pode utilizar o pulse para montar essa visualização:
Outra funcionalidade bem bacana para a gestão do cluster é listar o RBAC por completo e já saber qual status cada item está:
Espero que tenham gostado, até mais pessoal!
About author
Você pode gostar também
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
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
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