다른 언어는 여기를 참조하세요.
LitmusChaos는 통제된 방식으로 카오스 테스트를 실행하여 팀이 인프라의 약점과 잠재적인 운영 중단을 파악할 수 있게 해주는 오픈 소스 카오스 엔지니어링 플랫폼입니다. 개발자와 SRE는 LitmusChaos를 통해 카오스 엔지니어링을 도입할 수 있으며, 이는 사용하기 쉽고 현대 카오스 엔지니어링 원칙에 기반하며 커뮤니티의 협력으로 운영됩니다. LitmusChaos는 100% 오픈 소스이며 CNCF 프로젝트입니다.
LitmusChaos는 클라우드 네이티브 접근 방식을 사용하여 카오스를 생성, 관리 및 모니터링합니다. 이 플랫폼은 일련의 마이크로서비스들을 실행하며, 카오스 의도와 정상 상태 가설을 정의한 쿠버네티스 커스텀 리소스들(CRs)을 사용합니다.
Litmus의 전반적인 아키텍처는 다음과 같이 두가지 컴포넌트로 구성됩니다:
- Chaos Control Plane: 중앙 집중식 카오스 관리 도구인 Chaos Center는 Litmus 카오스 워크플로 구성, 스케줄링 및 시각화에 도움을 줍니다.
- Chaos Execution Plane Services: 하나의 카오스 에이전트와 여러 오퍼레이터들로 구성되며 정의된 대상 쿠버네티스 환경에서 실험을 실행하고 모니터링합니다.
플랫폼의 핵심에는 다음과 같은 카오스 커스텀 리소스가 있습니다:
-
ChaosExperiment: 특정 결함의 구성 파라미터를 그룹화하는 리소스입니다. ChaosExperiment CR은 기본적으로 설치 가능한 템플릿으로 결함을 수행하는 라이브러리를 설명하고, 라이브러리를 실행하는 데 필요한 권한과 라이브러리가 기본적으로 사용할 기본값을 나타냅니다. Litmus는 ChaosExperiment를 통해 BYOC(Bring Your Own Chaos)를 지원하기 때문에 타사 도구와 통합하여 결함 주입을 수행할 수도 있습니다.
-
ChaosEngine: 쿠버네티스 애플리케이션 워크로드/서비스, 노드 또는 인프라 구성 요소를 ChaosExperiment에서 설명하는 결함에 연결하는 리소스입니다. 또한 실행 속성 조정 및 'probe'를 사용한 정상 상태 검증 제약 조건 지정 옵션을 제공합니다. ChaosEngine은 Chaos-Operator에 의해 모니터링되며, runner들을 통해 조정됩니다.
ChaosExperiment 및 ChaosEngine CR은 Workflow 객체에 포함되며 이는 하나 이상의 실험을 원하는 순서대로 연결할 수 있습니다.
- ChaosResult: 카오스 실험 실행 결과를 저장하는 리소스입니다. 각 검증 제약 조건의 성공 여부, 결함의 복구/롤백 상태 및 판결에 대한 세부 정보를 제공합니다. Chaos Exporter는 결과 정보를 Prometheus 메트릭으로 보여줍니다. ChaosResults는 자동화된 실행 중에 특히 유용합니다.
ChaosExperiment CR은 hub.litmuschaos.io에서 호스팅됩니다. 이는 사용자가 프로덕션 환경에서 애플리케이션의 회복 탄력성을 높일 수 있도록 애플리케이션 개발자 또는 공급 업체가 카오스 실험을 공유하는 중앙 허브입니다.
- 개발자를 위한 유스케이스: 단위 테스트 또는 통합 테스트의 확장으로 애플리케이션 개발 중에 카오스 실험을 실행합니다.
- CI/CD 파이프라인 빌더를 위한 유스케이스: 애플리케이션이 파이프라인에서 실패 경로에 노출될 때 버그를 찾기 위해 파이프라인 단계로 카오스를 실행합니다.
- SRE를 위한 유스케이스: 애플리케이션 및/또는 주변 인프라에 대한 카오스 실험을 계획하고 스케줄링합니다. 이 방법은 배포 시스템의 약점을 식별하고 회복 탄력성을 높입니다.
시작하려면, Litmus Docs를 확인해보세요. 특히 Litmus 시작하기 페이지의 Installation 섹션에서 자세한 정보를 확인할 수 있습니다.
Chaos Hub에 기여하기 위한 가이드라인을 확인해보세요.
질문, 문제 사항 또는 기능 요청이 있으시면 언제든지 문의해 주세요.
-
Star를 주세요 ⭐️ - LitmusChaos를 사용 중이거나 이 프로젝트가 흥미롭다고 생각되시면 Star를 주시면 감사하겠습니다 ❤️.
-
LitmusChaos를 트위터에서 팔로우해주세요 @LitmusChaos.
-
정기 업데이트 및 회의 녹화를 보려면 LitmusChaos 유튜브 채널을 구독해주세요.
-
쿠버네티스 슬랙의 #litmus 채널에 가입해서 커뮤니티 멤버들과 만나고, 질문과 의견을 제시해주세요.
-
커뮤니티 회의: 매월 셋째 주 수요일 오후 5:30 GMT / 오후 6:30 CEST / 오후 10시 IST에 열립니다. 커뮤니티 회의에서는 커뮤니티 업데이트 논의, 새로운 기능/릴리스 업데이트 공유 및 사용자/채택자 스토리 논의가 이루어집니다. 커뮤니티의 모든 구성원이 LitmusChaos 커뮤니티 회의에 참여할 수 있습니다.
-
컨트리뷰터 회의: 매월 두 번째 및 마지막 목요일 오후 2:30 GMT / 오후 3:30 CEST / 오후 7:00 IST에 열립니다. 컨트리뷰터 회의는 오직 LitmusChaos에 대한 기술적 기여와 비기술적 기여에 대한 논의를 목적으로 합니다. 메인테이너, 현재 기여중인 분들 및 기여를 희망하는 분들이 참여하여 이슈, 수정, 개선 사항과 향후 기여를 논의합니다.
LitmusChaos 회의 초대 양식을 작성하여 캘린더 초대장을 받으세요!
- What if Your System Experiences an Outage? Let's Build a Resilient Systems with Chaos Engineering @ CNCF
- Enhancing Cyber Resilience Through Zero Trust Chaos Experiments in Cloud Native Environments @ CNCF
- LitmusChaos, with Karthik Satchitanand @ The Kubernetes Podcast from Google
- Cultural Shifts: Fostering a Chaos First Mindset in Platform Engineering @ CNCF
- Fire in the Cloud: Bringing Managed Services Under the Ambit of Cloud-Native Chaos Engineering @ CNCF
- Security Controls for Safe Chaos Experimentation @ CNCF
- Chaos Engineering For Hybrid Targets With LitmusChaos @ CNCF
- Cloud Native Live: Litmus Chaos Engine and a microservices demo app
- Chaos Engineering hands-on - An SRE ideating Chaos Experiments and using LitmusChaos | July 2022
- Achieve Digital Product Resiliency with Chaos Engineering
- Case Study: Bringing Chaos Engineering to the Cloud Native Developers @ CNCF
- Cloud Native Chaos Engineering with LitmusChaos @ CNCF
- How to create Chaos Experiments with Litmus | Litmus Chaos tutorial @ Is it Observable
- Cloud Native Chaos Engineering Preview With LitmusChaos
- Get started with Chaos Engineering with Litmus @ Containers from the Couch
- Litmus 2 - Chaos Engineering Meets Argo Workflows @ DevOps Toolkit
- Hands-on with Litmus 2.0 | Rawkode Live @ Rawkode Academy
- Introducing LitmusChaos 2.0 / Dok Talks #74 @ DoK.community
- Introduction to Cloud Native Chaos Engineering @ Kunal Kushwaha
- #EveryoneCanContribute cafe: Litmus - Chaos Engineering for your Kubernetes @ GitLab Unfiltered
- Litmus - Chaos Engineering for Kubernetes (CNCFMinutes 9) @ Saiyam Pathak
- Chaos Engineering with Litmus Chaos by Prithvi Raj || HACKODISHA Workshop @ Webwiz
- CNCF: Introduction to LitmusChaos
- Hackernoon: Manage and Monitor Chaos via Litmus Custom Resources
- Observability Considerations in Chaos: The Metrics Story
커뮤니티 블로그:
- Daniyal Rayn: Do I need Chaos Engineering on my environment? Trust me you need it!
- 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
- Ryan Pei(Armory): LitmusChaos in your Spinnaker Pipeline
- David Gildeh(Zebrium): Using Autonomous Monitoring with Litmus Chaos Engine on Kubernetes
LitmusChaos를 도입한 조직을 확인해보세요.
(카오스 엔지니어링 사례로 Litmus를 사용하고 있는 조직은 위 페이지로 PR을 보내주세요)
Litmus는 아파치(Apache) 라이선스 버전 2.0을 적용합니다. 전체 라이선스 텍스트는 LICENSE를 참고하세요. Litmus 프로젝트에서 사용하는 일부 프로젝트는 다른 라이선스에 적용받을 수 있으며, 별도의 라이선스를 참고하세요.
LitmusChaos는 CNCF 프로젝트의 일부입니다.
Litmus DocsCNCF Landscape