ChaosKube

ChaosKube은 쿠버네티스 클러스터를 위해 Netflix의 chaos monkey와 유사합니다. 고가용성 시스템의 내결함성을 테스트하기 위해 pod의 무작위 종료를 예약합니다.

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

방법

ChaosKube를 사용하는 것은 주간 데모 이후에 우리가 하는 수동 단계입니다. ChaosKube의 의도된 사용 사례는 작업일 동안 무작위 시간에 pod를 무작위로 종료하여 복구 능력을 테스트하는 것입니다. 우리가 사용하는 방식은 조금 다르며, 우리는 수동으로 ChaosKube를 디버그 모드로 실행하고 배포의 약점을 수동으로 식별합니다.

나중에 새로운 변경 사항이 배포될 때마다 해당 릴리스에 대해 ChaosKube를 실행하도록 CI 파이프라인에 통합할 계획입니다.

사용법

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의 값 섹션을 방문하세요.