LitmusChaos # [LitmusChaos](https://litmuschaos.io/) ### 오픈 소스 카오스 엔지니어링 플랫폼 [![Slack Channel](https://img.shields.io/badge/Slack-Join-purple)](https://slack.litmuschaos.io) ![GitHub Workflow](https://github.com/litmuschaos/litmus/actions/workflows/push.yml/badge.svg?branch=master) [![Docker Pulls](https://img.shields.io/docker/pulls/litmuschaos/chaos-operator.svg)](https://hub.docker.com/r/litmuschaos/chaos-operator) [![GitHub stars](https://img.shields.io/github/stars/litmuschaos/litmus?style=social)](https://github.com/litmuschaos/litmus/stargazers) [![GitHub issues](https://img.shields.io/github/issues/litmuschaos/litmus)](https://github.com/litmuschaos/litmus/issues) [![Twitter Follow](https://img.shields.io/twitter/follow/litmuschaos?style=social)](https://twitter.com/LitmusChaos) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/3202/badge)](https://www.bestpractices.dev/projects/3202) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus?ref=badge_shield) [![YouTube Channel](https://img.shields.io/badge/YouTube-Subscribe-red)](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)



#### *다른 언어는 [여기](translations/TRANSLATIONS.md)를 참조하세요.* [🇰🇷](translations/README-ko.md) [🇨🇳](translations/README-chn.md) [🇧🇷](translations/README-pt-br.md) [🇮🇳](translations/README-hi.md) ## 개요 LitmusChaos는 통제된 방식으로 카오스 테스트를 실행하여 팀이 인프라의 약점과 잠재적인 운영 중단을 파악할 수 있게 해주는 오픈 소스 카오스 엔지니어링 플랫폼입니다. 개발자와 SRE는 LitmusChaos를 통해 카오스 엔지니어링을 도입할 수 있으며, 이는 사용하기 쉽고 현대 카오스 엔지니어링 원칙에 기반하며 커뮤니티의 협력으로 운영됩니다. LitmusChaos는 100% 오픈 소스이며 CNCF 프로젝트입니다. LitmusChaos는 클라우드 네이티브 접근 방식을 사용하여 카오스를 생성, 관리 및 모니터링합니다. 이 플랫폼은 일련의 마이크로서비스들을 실행하며, 카오스 의도와 정상 상태 가설을 정의한 쿠버네티스 커스텀 리소스들(CRs)을 사용합니다. Litmus의 전반적인 아키텍처는 다음과 같이 두가지 컴포넌트로 구성됩니다: - **Chaos Control Plane**: 중앙 집중식 카오스 관리 도구인 Chaos Center는 Litmus 카오스 워크플로 구성, 스케줄링 및 시각화에 도움을 줍니다. - **Chaos Execution Plane Services**: 하나의 카오스 에이전트와 여러 오퍼레이터들로 구성되며 정의된 대상 쿠버네티스 환경에서 실험을 실행하고 모니터링합니다. ![architecture summary](/images/litmus-control-and-execution-plane-overview.png) 플랫폼의 핵심에는 다음과 같은 카오스 커스텀 리소스가 있습니다: - **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 시작하기 시작하려면, Litmus Docs를 확인해보세요. 특히 Litmus 시작하기 페이지의 Installation 섹션에서 자세한 정보를 확인할 수 있습니다. ## Chaos Hub에 기여하기 Chaos Hub에 기여하기 위한 가이드라인을 확인해보세요. ## 커뮤니티 ### 커뮤니티 자원: 질문, 문제 사항 또는 기능 요청이 있으시면 언제든지 문의해 주세요. - Star를 주세요 ⭐️ - LitmusChaos를 사용 중이거나 이 프로젝트가 흥미롭다고 생각되시면 Star를 주시면 감사하겠습니다 ❤️. - LitmusChaos를 트위터에서 팔로우해주세요 [@LitmusChaos](https://twitter.com/LitmusChaos). - 정기 업데이트 및 회의 녹화를 보려면 [LitmusChaos 유튜브 채널](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)을 구독해주세요. - [쿠버네티스 슬랙](https://slack.litmuschaos.io/)의 #litmus 채널에 가입해서 커뮤니티 멤버들과 만나고, 질문과 의견을 제시해주세요. ### 커뮤니티 회의 1. 커뮤니티 회의: 매월 셋째 주 수요일 오후 5:30 GMT / 오후 6:30 CEST / 오후 10시 IST에 열립니다. 커뮤니티 회의에서는 커뮤니티 업데이트 논의, 새로운 기능/릴리스 업데이트 공유 및 사용자/채택자 스토리 논의가 이루어집니다. 커뮤니티의 모든 구성원이 LitmusChaos 커뮤니티 회의에 참여할 수 있습니다. 2. 컨트리뷰터 회의: 매월 두 번째 및 마지막 목요일 오후 2:30 GMT / 오후 3:30 CEST / 오후 7:00 IST에 열립니다. 컨트리뷰터 회의는 오직 LitmusChaos에 대한 기술적 기여와 비기술적 기여에 대한 논의를 목적으로 합니다. 메인테이너, 현재 기여중인 분들 및 기여를 희망하는 분들이 참여하여 이슈, 수정, 개선 사항과 향후 기여를 논의합니다. [LitmusChaos 회의 초대 양식](https://forms.gle/xYZyZ2gTWMqz7xSs7)을 작성하여 캘린더 초대장을 받으세요! - [회의 링크](https://harness-io.zoom.us/j/95100368978?pwd=b2VrdCtaakE5U3dhOElFMUJOaXVOUT09) - [회의 의제 및 노트](https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q) - [릴리스 추적기](https://github.com/litmuschaos/litmus/milestones) ### 비디오 - [Cloud Native Live: Litmus Chaos Engine and a microservices demo app](https://youtu.be/hOghvd9qCzI) - [Chaos Engineering hands-on - An SRE ideating Chaos Experiments and using LitmusChaos | July 2022](https://youtu.be/_x_7SiesjF0) - [Achieve Digital Product Resiliency with Chaos Engineering](https://youtu.be/PQrmBHgk0ps) - [How to create Chaos Experiments with Litmus | Litmus Chaos tutorial](https://youtu.be/mwu5eLgUKq4) @ [Is it Observable](https://www.youtube.com/c/IsitObservable) - [Cloud Native Chaos Engineering Preview With LitmusChaos](https://youtu.be/pMWqhS-F3tQ) - [Get started with Chaos Engineering with Litmus](https://youtu.be/5CI8d-SKBfc) @ [Containers from the Couch](https://www.youtube.com/c/ContainersfromtheCouch) - [Litmus 2 - Chaos Engineering Meets Argo Workflows](https://youtu.be/B8DfYnDh2F4) @ [DevOps Toolkit](https://youtube.com/c/devopstoolkit) - [Hands-on with Litmus 2.0 | Rawkode Live](https://youtu.be/D0t3emVLLko) @ [Rawkode Academy](https://www.youtube.com/channel/UCrber_mFvp_FEF7D9u8PDEA) - [Introducing LitmusChaos 2.0 / Dok Talks #74](https://youtu.be/97BiCNtJbDw) @ [DoK.community](https://www.youtube.com/channel/UCUnXJbHQ89R2uSfKsqQwGvQ) - [Introduction to Cloud Native Chaos Engineering](https://youtu.be/LK0oDLQE4S8) @ [Kunal Kushwaha](https://www.youtube.com/channel/UCBGOUQHNNtNGcGzVq5rIXjw) - [#EveryoneCanContribute cafe: Litmus - Chaos Engineering for your Kubernetes](https://youtu.be/IiyrEiK4stQ) @ [GitLab Unfiltered](https://www.youtube.com/channel/UCMtZ0sc1HHNtGGWZFDRTh5A) - [Litmus - Chaos Engineering for Kubernetes (CNCFMinutes 9)](https://youtu.be/rDQ9XKbSJIc) @ [Saiyam Pathak](https://www.youtube.com/channel/UCi-1nnN0eC9nRleXdZA6ncg) - [Chaos Engineering with Litmus Chaos by Prithvi Raj || HACKODISHA Workshop](https://youtu.be/eyAG0svCsQA) @ [Webwiz](https://www.youtube.com/channel/UC9yM_PkV0QIIsPA3qPrp) [추가 영상....](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw) ### 블로그 - CNCF: [Introduction to LitmusChaos](https://www.cncf.io/blog/2020/08/28/introduction-to-litmuschaos/) - Hackernoon: [Manage and Monitor Chaos via Litmus Custom Resources](https://hackernoon.com/solid-tips-on-how-to-manage-and-monitor-chaos-via-litmus-custom-resources-5g1s33m9) - [Observability Considerations in Chaos: The Metrics Story](https://dev.to/ksatchit/observability-considerations-in-chaos-the-metrics-story-6cb) 커뮤니티 블로그: - Daniyal Rayn: [Do I need Chaos Engineering on my environment? Trust me you need it!](https://maveric-systems.com/blog/do-i-need-chaos-engineering-on-my-environment-trust-me-you-need-it/) - LiveWyer: [LitmusChaos Showcase: Chaos Experiments in a Helm Chart Test Suite](https://livewyer.io/blog/2021/03/22/litmuschaos-showcase-chaos-experiments-in-a-helm-chart-test-suite/) - Jessica Cherry: [Test Kubernetes cluster failures and experiments in your terminal](https://opensource.com/article/21/6/kubernetes-litmus-chaos) - Yang Chuansheng(KubeSphere): [KubeSphere 部署 Litmus 至 Kubernetes 开启混沌实验](https://kubesphere.io/zh/blogs/litmus-kubesphere/) - Saiyam Pathak(Civo): [Chaos Experiments on Kubernetes using Litmus to ensure your cluster is production ready](https://www.civo.com/learn/chaos-engineering-kubernetes-litmus) - Andreas Krivas(Container Solutions):[Comparing Chaos Engineering Tools for Kubernetes Workloads](https://blog.container-solutions.com/comparing-chaos-engineering-tools) - Akram Riahi(WeScale):[Chaos Engineering : Litmus sous tous les angles](https://blog.wescale.fr/2021/03/11/chaos-engineering-litmus-sous-tous-les-angles/) - Prashanto Priyanshu(LensKart):[Lenskart’s approach to Chaos Engineering-Part 2](https://blog.lenskart.com/lenskarts-approach-to-chaos-engineering-part-2-6290e4f3a74e) - DevsDay.ru(Russian):[LitmusChaos at Kubecon EU '21](https://devsday.ru/blog/details/40746) - Ryan Pei(Armory): [LitmusChaos in your Spinnaker Pipeline](https://www.armory.io/blog/litmuschaos-in-your-spinnaker-pipeline/) - David Gildeh(Zebrium): [Using Autonomous Monitoring with Litmus Chaos Engine on Kubernetes](https://www.zebrium.com/blog/using-autonomous-monitoring-with-litmus-chaos-engine-on-kubernetes) ## 도입한 조직 LitmusChaos를 도입한 조직을 확인해보세요. (카오스 엔지니어링 사례로 Litmus를 사용하고 있는 조직은 위 페이지로 PR을 보내주세요) ## 라이센스 Litmus는 아파치(Apache) 라이선스 버전 2.0을 적용합니다. 전체 라이선스 텍스트는 [LICENSE](./LICENSE)를 참고하세요. Litmus 프로젝트에서 사용하는 일부 프로젝트는 다른 라이선스에 적용받을 수 있으며, 별도의 라이선스를 참고하세요. [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus?ref=badge_large) LitmusChaos는 CNCF 프로젝트의 일부입니다. [![CNCF](https://landscape.cncf.io/images/cncf-landscape-horizontal-color.svg)](https://landscape.cncf.io/?selected=litmus) ## 중요한 링크 Litmus Docs Litmus Docs
CNCF Landscape CNCF Landscape의 리트머스