Updated:

less than 1 minute read

설명

  • 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"}}}'


대시보드

  • 포트 확인
    • 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


테스트

  1. Home에서 Schedule workflow 클릭
  2. Self-Agent 선택 후 Next 클릭
  3. Create a new workflow using the experiments from ChaosHubs 선택 후 Next 클릭
  4. Next 클릭
  5. Add a new experiment를 클릭하여 실험 선택
  6. Edit Sequence를 클릭
  7. 실험 순서 변경(병렬 수행도 가능)
  8. 연필 클릭
  9. Target Application에서 appns, appkind, applabel 설정
  10. Define the steady state for this application에서 정상 유무를 판단할 기준 추가
  11. Tune Experiment에서 실험 정보 변경
  12. Next 클릭
  13. 가중치 조정 후 Next 클릭
  14. 스케쥴 조정 후 Next 클릭
  15. Finish 클릭
  16. Go to Workflow 클릭
  17. 생성된 실험 클릭
  18. 과정 및 결과 확인