[Quality Control] Litmus
Updated:
설명
- https://litmuschaos.io/
- 클라우드 네이티브 카오스 엔지니어링 플랫폼
- CNCF graduated projects
- 카오스 엔지니어링
- 시스템이 예상하지 못한 상황을 견딜 수 있는지를 확인하기 위해 실험하는 분야
설치
kubectl apply -f https://litmuschaos.github.io/litmus/2.6.0/litmus-2.6.0.yaml
- mongo-0 pod가 Pending일 경우
- StorageClass를 OpenEBS로 변경
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- StorageClass를 OpenEBS로 변경
대시보드
- 포트 확인
kubectl get svc -n litmus | grep "litmusportal-frontend-service"
- 아이디/패스워드
admin/litmus
실험
- 워크플로우 형태로 여러개의 실험 조합 가능
- pod-delete
- pod-cpu-hog
- node-cpu-hog
- pod-memory-hog
- node-memory-hog
- disk-fill
- pod-network-loss
- pod-network-latency
- pod-autoscaler
- …
테스트
- Home에서 Schedule workflow 클릭
- Self-Agent 선택 후 Next 클릭
- Create a new workflow using the experiments from ChaosHubs 선택 후 Next 클릭
- Next 클릭
- Add a new experiment를 클릭하여 실험 선택
- Edit Sequence를 클릭
- 실험 순서 변경(병렬 수행도 가능)
- 연필 클릭
- Target Application에서 appns, appkind, applabel 설정
- Define the steady state for this application에서 정상 유무를 판단할 기준 추가
- Tune Experiment에서 실험 정보 변경
- Next 클릭
- 가중치 조정 후 Next 클릭
- 스케쥴 조정 후 Next 클릭
- Finish 클릭
- Go to Workflow 클릭
- 생성된 실험 클릭
- 과정 및 결과 확인