Como monitorar clusters no Kubernetes: três ferramentas abertas - uma delas em formato de jogo

Esta é nossa coleção compacta de ferramentas gratuitas para avaliar o desempenho e a estabilidade de aplicativos em contêineres.



Sob o corte está o sistema de monitoramento de cluster Kmoncon , o ambiente de desenvolvimento do Lens com funções de benchmarking e um utilitário para nós de teste de estresse em um formato de jogo de computador.





Ellen Qin — Unsplash






Kmoncon



Este é um sistema para monitorar as conexões de nós em um cluster Kubernetes. Foi desenvolvido pelo engenheiro Karl Stoney, que mantém a infraestrutura em nuvem e aplicativos em contêineres na Auto Trader UK (um dos maiores mercados de carros usados ​​do Reino Unido).



Kmoncon verifica as conexões TCP, UDP e DNS (os testes são executados a cada cinco segundos). A avaliação é baseada em métricas do Prometheus modificadas - nomes de nós e zonas de disponibilidade foram adicionados aos parâmetros padrão. A ferramenta é compatível com outros sistemas de monitoramento de nível L7, como Istio Observability ou Kube State Metrics . Segundo o autor, para um cluster de 75 nós, o sistema consome apenas 40 MB de RAM.





/ Captura de tela do painel Kmoncon / GitHub



É importante notar que o projeto é jovem, portanto, existem bugs em seu trabalho. Um dos mais conhecidos é a lenta atualização da lista de nós. Por causa disso, o sistema às vezes tenta testar nós já excluídos e dá um erro. O autor planeja corrigir essa deficiência. Ele também diz que o tamanho da imagem do Docker ainda é ruim com 130 MB.






Kube-caos



É uma ferramenta para testar interativamente a confiabilidade dos clusters do Kubernetes. Ele é implementado no formato de um jogo de computador no motor Unity. Você controla uma "nave espacial" virtual e atira em quadrados brilhantes que representam cápsulas reais. Cada um deles tem uma certa quantidade de saúde. Quando termina, o jogo envia o comando destroy pod via kubectl e remove o pod correspondente.





/ Kube-chaos gameplay / GitHub



Destruindo pods aleatoriamente, você pode verificar como o sistema reage a ele e com que rapidez ele se recupera. Este método é chamado de Engenharia do Caos .



Para instalar o jogo em seu cluster, o autor sugere o usoarkade é uma CLI para Kubernetes que permite implantar aplicativos com um único comando. É importante notar, porém, que o projeto é um PoC e provavelmente não vale a pena trabalhar com ele na produção.






Lente



Ambiente de desenvolvimento integrado (IDE) para Kubernetes, otimizado para trabalhar com um grande número de pods (até 25 mil). Ela é capaz de visualizar o estado do cluster em tempo real e construir gráficos mostrando os recursos envolvidos (usando as métricas do Prometheus).



O Lens é um aplicativo independente (nenhuma implantação de agente necessária dentro do cluster) que é instalado em um computador Linux, macOS ou Windows. A primeira versão da ferramenta foi apresentada pelo Kontena, mas hoje está sendo desenvolvida pela Lakend Labs. Ela promove e apóia projetos de código aberto para a nuvem.



O projeto é relativamente jovem, mas uma grande comunidade já se formou em torno dele. O Lens é o segundo projeto mais popular no GitHub em sua categoria e tem8,2 mil estrelas .






O que escrever sobre em nosso blog corporativo:



Uma seleção de livros sobre segurança cibernética: como conduzir um teste de penetração e que se opor a engenharia social

Você não pode simplesmente tomar e "reflash" o seu gadget

quais cabos vai ligar África, Ásia e Austrália

Benchmarks para servidores Linux








All Articles