Vamos falar sobre Chaos Mesh, uma ferramenta de código aberto nativa da nuvem construída para simulação de falhas. Como assim? Ela permite aos times de QA criar e executar vários cenários de falhas durante os ambientes de desenvolvimento, teste e produção, de forma a antecipar a correção e evitar possíveis problemas no sistema.
Visão Geral do Chaos Mesh
O Chaos Mesh foi desenvolvido e criado no Kubernetes CRD (Custom Resource Definition) com base na engenharia do caos e sobre o guarda-chuva de incubação da CNCF, que tem uma comunidade ativa crescente. Isso permite que o Chaos Mesh defina vários tipos de CRD com base nos diferentes tipos de falha, permitindo a implantação de controles para cada objeto de CRD. Ele possui 3 componentes principais.:
✔ Chaos Dashboard
✔ Chaos Controller Manager
✔ Chaos Daemon
Conforme a imagem mostra, a arquitetura do Chaos Mesh pode ser dividida em 3 partes.: User input and observation; Monitor Resource Changes e Injection of a specific node fault. Vamos detalhar um pouco mais cada um desses 3 componentes.:
User input and Observation.: Este componente permite que o usuário faça uma operação via Kubernetes API Server via recurso do Chaos, não tendo interação direta com o Chaos Controller Manager.
Monitor Resource Changes.: Como o Chaos Controller Manager aceita apenas interações via Kubernetes API Server, os eventos gerados descrevem alterações de um determinado recurso do Chaos Mesh, como por exemplo a criação de um objeto no Chaos.
Injection of a specific node fault.: O Chaos Daemon é o principal componente que recebe comandos do Chaos Controller Manager, de forma a acessar o namespace do pod de destino e fazer a injeção de falhas específicadas pelo usuário, como por exemplo executar um teste de stress-ng para testar CPU e memória.
Além disso, o Chaos Mesh possui gerenciamento de permissões usando o RBAC nativo do Kubernetes, garantindo uma gestão efetiva de até onde pode ir os cenários de testes criados. O Chaos Mesh permite também a adição de novos tipos e funções de testes de falha de forma intuitiva via uma interface gráfica e com uso baseado no Kubernetes.
Vale a pena acessar a página do projeto para ter mais detalhes e poder utilizar essa ferramenta excelente para testes baseada na nuvem e apoiada pela CNCF. Link do projeto.: https://chaos-mesh.org/
Top comments (0)