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의 values 섹션을 참조하세요.