Leer en otros idiomas
LitmusChaos es una plataforma de código abierto de Ingeniería del Caos que permite a los equipos identificar debilidades y posibles interrupciones en las infraestructuras mediante la inducción de pruebas de caos de forma controlada. Desarrolladores y SRE pueden practicar la Ingeniería del Caos con LitmusChaos, ya que es fácil de usar, se basa en principios modernos de Ingeniería del Caos y cuenta con la colaboración de la comunidad. Es 100% de código abierto y un proyecto CNCF.
Litmus parte de un enfoque centrado en la nube para crear, administrar y monitorear experimentos de caos. Éste se orquesta usando la siguiente Definición de Recursos Personalizados de Kubernetes.
-
Plano de Control Caos: Una herramienta centralizada de gestión del caos llamada chaos-center, que ayuda a construir, programar y visualizar los flujos de trabajo del caos de Litmus.
-
Servicios del plano de ejecución del caos: Está compuesto por un agente de caos y múltiples operadores que ejecutan y supervisan el experimento dentro de un entorno de Kubernetes objetivo definido.
El nucleo de la plataforma se encuentran los siguientes recursos personalizados del caos:
-
Experimento del caos: Un recurso para agrupar los parámetros de configuración de una falla específica. Los CRs de ChaosExperiment son básicamente plantillas instalables que describen la biblioteca que ejecuta la falla, indican los permisos necesarios para ejecutarla y los valores predeterminados con los que funcionará. A través de ChaosExperiment, Litmus admite BYOC (bring-your-own-chaos), lo que facilita la integración (opcional) de herramientas de terceros para realizar la inyección de fallas.
-
Chaos Engine: Un recurso para vincular una carga de trabajo/servicio, un nodo o un componente de infraestructura de una aplicación Kubernetes a una falla descrita por ChaosExperiment. También proporciona opciones para ajustar las propiedades de ejecución y especificar las restricciones de validación de estado estable mediante "sondas". ChaosEngine es supervisado por Chaos-Operator, que lo reconcilia (activa la ejecución del experimento) mediante ejecutores.
-
Resultado Chaos: Un recurso para almacenar los resultados de la ejecución del experimento. Proporciona detalles sobre el éxito de cada restricción de validación, el estado de reversión del fallo y un veredicto. El exportador de Chaos lee los resultados y expone la información como métricas de Prometheus. Los resultados de Chaos son especialmente útiles durante las ejecuciones automatizadas.
Los Experimentos Chaos están alojados en hub.litmuschaos.io. Es un hub centralizado en el que los desarrolladores o proveedores de la aplicación pueden mostrar sus Experimentos Chaos de manera que sus usuarios puedan utilizarlos para incrementar la resiliencia de la aplicación en producción.
- Para desarrolladores: Correr Experimentos Chaos durante el desarrollo de la aplicación como extensión de los test unitarios o de los test de integración.
- Contrución y deploy CI/CD pipelines: Correr Expirementos Chaos como una fase de la pipeline para encontrar bugs cuando se somete a la aplicación a rutas de fallo en la pipeline.
- Para SRE: Planificar y programar Experimentos Chaos en la aplicación o en la infraestructura. Esta práctica identifica las debilidades en el sistema e incrementa su resiliencia.
Para comenzar, consulte la Litmus Docs y en especifico la selecion de instalación de Iniciar con Litmus page.
Revisa la Guía para contribuir al Hub de Chaos .
Revisa los Adoptadores de LitmusChaos
(Envía una PR a la página de arriba si estás usando Litmus en tu práctica de Chaos Engineering)
A continuación se enumeran algunas consideraciones que se deben tener en cuenta sobre Litmus como framework de Chaos. Muchas de ellas ya están siendo trabajadas como se menciona en ROADMAP. Para detalles o limitaciones sobre experimentos específicos, se debe consultar la documentación de los experimentos respectiva.
- El Operador Chaos Litmus y los Experimentos Chaos corren como recursos de Kubernetes en un clúster. En caso de entornos airgapeados los recursos Chaos personalizaos y las imágenes debe ser alojados en local.
- Cuando se intenta ejecutar Experimentos Chaos en una plataforma concreta (como AWS o el cloud de GCP) los detalles de acceso se pasan como secretos de Kubernetes. El soporte para otros modos de gestión secreta aún no se han testeado o implementado.
- Algunos Experimentos Chaos hacen uso de la api de docker desde el interior del experimento, por lo que requieren el socket de docker para montarse. Se recomienda permitir el acceso a desarrolladores, devops y SRE para correr estos experimentos.
- En casos (raros) en que los Experimentos Chaos hacen uso de contenedores privilegiados, se documentarán las políticas de seguridad recomendadas.
Litmos está licenciado bajo la Licencia Apache, versión 2.0. Ver el texto completo en LICENCIA. Algunos proyectos usados por Litmus pueden estar sometidos a una licencia diferente, consulte su lecencia específica.
Litmus Chaos forma parte de los projectos CNCF.
La comunidad Litmus se reúne el tercer miércoles de cada mes a las 10:00 p.m. hora estándar de la India (IST) / 9:30 a.m. hora estándar del Pacífico (PST).
Recursos de la comunidad:
- Comunidad de Slack
- Zoom
- HackMD (agenda y notas de meetings)
- Canal de Youtube (demos, gravaciones de meetings, meetups virtuales)
- Tracker de releases
CNCF Landscape
- CNCF: Introduction to LitmusChaos
- Hackernoon: Manage and Monitor Chaos via Litmus Custom Resources
- Observability Considerations in Chaos: The Metrics Story
Community Blogs:
- LiveWyer: LitmusChaos Showcase: Chaos Experiments in a Helm Chart Test Suite
- Jessica Cherry: Test Kubernetes cluster failures and experiments in your terminal
- Yang Chuansheng(KubeSphere): KubeSphere 部署 Litmus 至 Kubernetes 开启混沌实验
- Saiyam Pathak(Civo): Chaos Experiments on Kubernetes using Litmus to ensure your cluster is production ready
- Andreas Krivas(Container Solutions):Comparing Chaos Engineering Tools for Kubernetes Workloads
- Akram Riahi(WeScale):Chaos Engineering : Litmus sous tous les angles
- Prashanto Priyanshu(LensKart):Lenskart’s approach to Chaos Engineering-Part 2
- DevsDay.ru(Russian):LitmusChaos at Kubecon EU '21

