Litmuschoos의 배포 모드

소개하다.


응용 프로그램 개발부터 응용 프로그램 개발까지의 각 단계(응용 프로그램 개발부터 응용 프로그램 개발, 응용 프로그램 개발부터 응용 프로그램 개발, 응용 프로그램 개발부터 응용 프로그램 개발, 응용 프로그램 개발부터 응용 프로그램 개발, 응용 프로그램 개발부터 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발, 응용 프로그램 개발에서 응용 프로그램 개발까지 응용 프로그램 개발까지.따라서 현재의 혼돈 구조는 서로 다른 모델에서 운행하기에 적합하다. 이러한 역할 조작의 권한, 안전 제약과 허용된 폭발 반경을 감안하면 된다.
이 블로그에서 우리는 그 중의 각종 배치/조작 모델을 토론하고 이러한 서로 다른 역할을 고려하며 helm을 사용하여 특정 모델에서 설치하는 절차를 제공할 것이다.
주: 만약에 독자가 리트머스 혼돈 실험을 이해하고 혼돈 산자, 혼돈 CRD와chaoshub를 이해할 기회가 있다고 가정하자.이러한 지식을 통해 뒤의 장과 절을 더욱 잘 이해할 수 있다.

LitmusChaos의 실행 모드


litmus 혼돈 산자는 혼돈을 조율하는 능력과 서로 다른 모델에서 특정한 고장을 주입하는 주어진 실험의 본질적인 성질은 변하지 않지만 그들의 범위(집단 범위의 v/s명명 공간)와 영향은 다르다.예상한 바와 같이litmus components &operator's watch range에 RBAC를 설정하는 방식과 일치합니다.

관리 모드


역할: 집단에 완전한 자치권을 가진 SRE 또는 집단 관리자에게 혼돈 조작을 집중하고 혼돈 구성 요소를 여러 목표 이름 공간에 두지 않기를 원합니다.그/그녀도 혼란의 집행자이기 때문에 센터에서 실험 CRs를 끌어내어 조정하고 운행한다.
조작 특성: 혼돈 조작부호는 중앙 관리자 ns(보통litmus에 설치되고 집단 범위를 초과한 RBAC이다. 이 RBAC는 노드 자원에 대한 실험을 포함하여 지원되는 모든 혼돈 실험을 수행할 수 있다.운영자는 동일한 관리 네임스페이스에 생성된 ChaosEngine CR을 모니터링하도록 설정되어 있으며, 대상 애플리케이션이 서로 다른 네임스페이스에 상주할 수 있음에도 불구하고(ChaosEngine CR에서 지정됨)이것은 모든 혼돈 자원(혼돈 실험 CRs,runner/Experience/helperpods,chaosresult CRs)이 같은 관리 명칭 공간에서 유지되는 것을 확보했다.
배치 절차: litmus 키맵은 값의 표지로 구성된다.yaml 지정 모드: .spec.appinfo.appns, 설치 시 operatorMode로 설정할 수 있습니다.
kubectl create ns litmus
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm install litmuschaos/litmus --version 1.7.0 --set operatorMode=admin
kubectl apply -f https://hub.litmuschaos.io/api/chaos/1.7.0?file=charts/generic/experiments.yaml -n litmus 

표준 모드


역할: 서로 다른 권한을 가진staging/prod 환경에서 혼돈 집행은 서비스 소유자에게 위탁되고 운영자는 중앙/관리 명칭 공간에 계속 주재한다.이런 모드에서 SRE/cluster 관리자는litmus infra 구성 요소(조작자, CRD)를 미리 설치해야 한다. 조작자는 이름 공간을 뛰어넘어 초엔진 CRs를 볼 수 있도록 설정된다.개별 서비스 소유자가 접근할 수 있는 (응용/서비스) 명칭 공간에서 혼란스러운 자원 (hub에서 설치된 ChaoseExperiment CRs,ChaoseEngine CRs) 을 만들 수 있음을 감안하면.
조작 특징: 기술적으로 관리 모델과 매우 비슷하지만 (운영자는 중앙 ns와 orchestrate가 혼란스러운 응용 프로그램을 계속 유지하고 있다) 여기서 혼란스러운 집행자는 다르다. 서비스 소유자는 자신의ChaosService Account(또는 chaoshub에서 제공한 추천한 모든 실험 RBAC)를 사용하여 혼란을 집행해야 한다.혼돈 크레인(runner/Experience/helper)도 서비스 이름 공간에서 만들어져 가시성/디버깅을 돕습니다.
배치 단계: 설치 기간adminoperatorMode로 설정해야 한다.
kubectl create ns litmus
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm install litmuschaos/litmus --version 1.7.0 --set operatorMode=standard
kubectl apply -f https://hub.litmuschaos.io/api/chaos/1.7.0?file=charts/generic/experiments.yaml -n <service/app-namespace>

이름 공간 모드


캐릭터: 모든 혼돈 조작(infra설정, 편성과 혼돈 집행)은 개발자/DevOps 엔지니어가 엄격한 다임자 환경에서 각자의 명칭 공간에서 관리한다. 이런 환경에서 캐릭터는 노드, CRD 등 집단 범위의 자원을 접근할 수 없고 향상된 권한으로 운행하고 호스트 경로/파일 볼륨을 불러오는 데 제한된다.이런 조작 모드는 SaaS 기반 환경에서 특히 유용하다. 예를 들어 Kubernetes 이름 공간을 제공하여 사용할 수 있도록 한다.
작업 특징: 이 모드에서 작업자는 사용자의 이름 공간에 설치하고 그와 공존하는 목표 프로그램, 즉 같은 이름 공간에 설치하도록 설정한다.통신사들은 말할 것도 없이 같은 명칭 공간에서 혼돈 CRs(Chaos Experiment &Chaos Engine)와 POD(runner/Experience/helper POD)를 각각 만들고 싶어 한다.그러나 명칭 공간 모드를 사용하려면 관리자가 그룹에 사용자 정의 자원 정의(CRD)를 미리 설치해야 사용자가 조작자의 설치를 시도할 수 있다.
배치 단계: 설치 기간standardoperatorMode로 설정하고 namespaced 플래그를 사용하여 CRD 설치를 시도하지 않았는지 확인합니다.
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm install litmuschaos/litmus --version 1.7.0 --set operatorMode=namespaced --namespace <developer-namespace> --skip-crds
주: 명칭 공간 모드에서 기중기급 혼돈 실험만 수행할 수 있습니다.

결론


지금까지litmus 커뮤니티에서 서로 다른 모델의 사용률이 상당히 높았는데 그 중에서--skip-crds는 더욱 자주 사용하는 모델이다(이것이 기본 모델로 설정된 이유이다).그럼에도 불구하고 Kubernetes 생태계가 역할 기반의 방문, 안전과 배치 실천을 둘러싼 끊임없는 변화를 감안하면 이것은 우리가 끊임없이 변화하는 구조를 보는 데 중심을 두는 한 부분이다.단, 현재로서는, 우리는 당신이 현재 옵션에 대한 피드백을 얻고 싶고, 당신이 가장 좋아하는 것은 무엇입니까?
당신은 SRE입니까, 아니면 Kubernetes의 애호가입니까?혼돈 프로젝트가 당신을 흥분시켰습니까?우리 지역사회Slack에 가입하여 쿠베르네트스의 혼돈 프로젝트에 대해 상세한 토론과 정기적인 업데이트를 진행한다.
LitmusChaosGitHub repo를 보고 피드백을 공유합니다.필요한 변경 사항이 발견되면 요청을 제출하십시오.

좋은 웹페이지 즐겨찾기