<img alt="LitmusChaos" src="https://avatars.githubusercontent.com/u/49853472?s=200&v=4" width="200" align="left">

# [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)
<br><br><br><br>

#### *다른 언어는 [여기](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은 <a href="https://hub.litmuschaos.io" target="_blank">hub.litmuschaos.io</a>에서 호스팅됩니다. 이는 사용자가 프로덕션 환경에서 애플리케이션의 회복 탄력성을 높일 수 있도록 애플리케이션 개발자 또는 공급 업체가 카오스 실험을 공유하는 중앙 허브입니다.

## 유스케이스

- **개발자를 위한 유스케이스**: 단위 테스트 또는 통합 테스트의 확장으로 애플리케이션 개발 중에 카오스 실험을 실행합니다.
- **CI/CD 파이프라인 빌더를 위한 유스케이스**: 애플리케이션이 파이프라인에서 실패 경로에 노출될 때 버그를 찾기 위해 파이프라인 단계로 카오스를 실행합니다.
- **SRE를 위한 유스케이스**: 애플리케이션 및/또는 주변 인프라에 대한 카오스 실험을 계획하고 스케줄링합니다. 이 방법은 배포 시스템의 약점을 식별하고 회복 탄력성을 높입니다.

## Litmus 시작하기

시작하려면, <a href="https://docs.litmuschaos.io/docs/introduction/what-is-litmus" target="_blank">Litmus Docs</a>를 확인해보세요. 
특히 <a href="https://docs.litmuschaos.io/docs/getting-started/installation" target="_blank">Litmus 시작하기</a> 페이지의 <a href="https://docs.litmuschaos.io/docs/getting-started/installation#prerequisites" target="_blank">Installation 섹션</a>에서 자세한 정보를 확인할 수 있습니다.



## Chaos Hub에 기여하기

<a href="https://github.com/litmuschaos/community-charts/blob/master/CONTRIBUTING.md" target="_blank">Chaos Hub에 기여하기 위한 가이드라인</a>을 확인해보세요.


## 커뮤니티

### 커뮤니티 자원:

질문, 문제 사항 또는 기능 요청이 있으시면 언제든지 문의해 주세요.

- 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)

### 비디오

- [What if Your System Experiences an Outage? Let's Build a Resilient Systems with Chaos Engineering](https://www.youtube.com/watch?v=3mjGEh905u4&t=1s) @ [CNCF](https://www.youtube.com/@cncf)
- [Enhancing Cyber Resilience Through Zero Trust Chaos Experiments in Cloud Native Environments](https://youtu.be/BelNIk4Bkng) @ [CNCF](https://www.youtube.com/@cncf)
- [LitmusChaos, with Karthik Satchitanand](https://www.youtube.com/watch?v=ks2R57hhFZk&t=503s) @ [The Kubernetes Podcast from Google](https://www.youtube.com/@TheKubernetesPodcast)
- [Cultural Shifts: Fostering a Chaos First Mindset in Platform Engineering](https://www.youtube.com/watch?v=WUXFKxgZRsk) @ [CNCF](https://www.youtube.com/@cncf)
- [Fire in the Cloud: Bringing Managed Services Under the Ambit of Cloud-Native Chaos Engineering](https://www.youtube.com/watch?v=xCDQp5E3VUs) @ [CNCF](https://www.youtube.com/@cncf)
- [Security Controls for Safe Chaos Experimentation](https://www.youtube.com/watch?v=whCkvLKAw74) @ [CNCF](https://www.youtube.com/@cncf)
- [Chaos Engineering For Hybrid Targets With LitmusChaos](https://www.youtube.com/watch?v=BZL-ngvbpbU&t=751s) @ [CNCF](https://www.youtube.com/@cncf)
- [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)
- [Case Study: Bringing Chaos Engineering to the Cloud Native Developers](https://youtu.be/KSl-oKk6TPA) @ [CNCF](https://www.youtube.com/@cncf)
- [Cloud Native Chaos Engineering with LitmusChaos](https://www.youtube.com/watch?v=ItUUqejdXr0) @ [CNCF](https://www.youtube.com/@cncf)
- [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)


## 도입한 조직

<a href="https://github.com/litmuschaos/litmus/blob/master/ADOPTERS.md" target="_blank">LitmusChaos를 도입한 조직</a>을 확인해보세요.

(카오스 엔지니어링 사례로 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)

## 중요한 링크

<a href="https://docs.litmuschaos.io">
  Litmus Docs <img src="https://avatars0.githubusercontent.com/u/49853472?s=200&v=4" alt="Litmus Docs" height="15">
</a>
<br>
<a href="https://landscape.cncf.io/?selected=litmus">
  CNCF Landscape <img src="https://github.com/cncf/artwork/blob/main/other/cncf/horizontal/color/cncf-color.png" alt="CNCF Landscape의 리트머스" height="15">
</a>
