ChaosKube

ChaosKube은 Kubernetes 클러스터를 위한 Netflix의 chaos monkey와 유사합니다. 고가용성 시스템의 내결함성을 테스트하기 위해 무작위로 파드를 종료를 스케줄링합니다.

차트 개발의 일환으로 배포의 내결함성을 테스트할 방법이 필요했습니다.

방법

ChaosKube의 사용은 주간 데모 이후 매뉴얼 단계로 이루어집니다. ChaosKube의 의도된 사용 사례는 작업일 중에 무작위로 파드를 무작위 시간에 종료하여 복구 능력을 테스트하는 것입니다. 저희의 사용 방식은 약간 다르며, 우리는 ChaosKube를 디버그 모드로 매뉴얼으로 실행하고 배포의 취약점을 매뉴얼으로 식별합니다.

나중에는 CI 파이프라인에 통합하여 새 변경 사항이 배포될 때마다 해당 릴리스에 대해 ChaosKube를 실행할 예정입니다.

사용법

deploy_chaoskube.sh는 기본적으로 ChaosKube를 설치하고 실행을 10분 후에 스케줄링합니다. RBAC가 활성화된 경우 필요한 서비스 계정 및 역할도 설정합니다.

차트 리포지터리를 클론한 후 ChaosKube를 설치하고 실행하려면 다음을 실행합니다:

scripts/deploy_chaoskube.sh up

구성

ChaosKube는 scripts/chaoskube-resources/values.yaml 파일을 편집하여 구성할 수 있습니다. 자세한 내용은 공식 ChaosKube 문서를 참조하세요.

또한 스크립트의 플래그를 사용하여 배포를 구성할 수도 있습니다. 사용 가능한 옵션을 확인하려면 다음을 실행하세요:

scripts/deploy_chaoskube.sh -h

--set 인수를 통해 전달할 수 있는 옵션의 전체 디렉터리에 대해 README의 값을 참조해주세요.