구글 Kubernetes 엔진의 Litmus 2.0 입문

Google Kubernetes 엔진에서 Litmus 2.0을 사용하는 방법에 대한 빠른 자습서입니다.우리는 우선 본 블로그에 기본적인 GKE 클러스터를 설치한 다음에 클러스터에 Litmus 2.0을 설치하고 마지막으로 Litmus를 사용하여 간단한 혼돈 작업 흐름을 실행할 것이다.
프레젠테이션을 시작하기 전에 간단한 소개를 하겠습니다.Litmus는 클라우드 컴퓨팅 혼돈 프로젝트를 수행하는 데 사용되는 도구 모음이다.이것은 개발자와 SRE가 응용 프로그램 배치의 약점을 발견하도록 돕기 위해 Kubernetes에서 혼란을 조율하는 도구를 제공한다.Litmus는 처음에 임시 저장 환경에서 혼돈 실험을 실행하고 최종적으로 생산 환경에서 버그와 빈틈을 찾을 수 있다.이런 약점을 복구하면 시스템의 탄력을 높일 수 있다.Litmus는'Kubernetes native'방법으로 맞춤형 자원을 통해 성명하는 방식으로 혼돈의 의도를 정의한다. 비록 Litmus가 혼돈을 주입하는 동시에 Kubernetes 목표에 국한될 뿐만 아니라 대량의 비Kubernetes 목표, 예를 들어 나체 인프라 시설, 공공 클라우드 인프라 시설, 혼합 클라우드 인프라 시설, 컨테이너화 서비스,등등 전체 업무의 혼돈 공사 수요를 충족시키기 위해 특정한 응용 프로그램의 마이크로 서비스만이 아니다.

선결 조건

  • GKE
  • 에 액세스할 수 있는 충분한 라이센스를 획득한 GCP 프로젝트

    1단계: GKE 클러스터 설정


    GKE 클러스터를 구축하려면 먼저 GCP 프로젝트에서 Kubernetes 엔진 API를 사용해야 합니다.이를 위해 GCP 컨트롤러에서 API & 서비스 계기판에 접근하고 Kubernetes 엔진 API를 검색할 수 있습니다.

    그런 다음 Kubernetes 엔진 API를 사용할 수 있습니다.이제 우리 GKE 클러스터를 발사할 준비가 다 됐습니다.이를 위해 GCP 콘솔의 Kubernetes 엔진 대시보드로 이동한 다음 클러스터 만들기를 선택합니다.

    표준 그룹을 선택하고 설정을 선택하십시오.

    Kubernetes 클러스터를 구성하는 모든 옵션을 사용할 수 있습니다.자신의 취향에 따라 그룹을 설정할 수도 있고, cluster Setup Guide (그룹 설정 안내서) 아래의 My First cluster (나의 첫 번째 그룹) 옵션을 선택할 수도 있습니다. 기본적인 세 노드 그룹을 설정할 수도 있습니다.

    클러스터 리소스를 설정하고 상태 점검을 수행하는 데 시간이 걸리고 준비가 완료됩니다.

    우리는 현재 집단에 연결하여litmus를 계속 설치할 수 있다.이를 위해, 우리는 그룹을 선택한 다음 연결 옵션을 선택해야 한다.

    그런 다음 Run In Cloud Shell 옵션을 선택합니다.

    이것은 컨트롤러에 클라우드 셸 터미널을 열 것입니다.터미널에 클라우드 SDK 명령이 이미 존재합니다. 실행해야 합니다.이 명령은 Kubectl을 설정하여 우리가 만든 그룹에 자신을 설정합니다.프롬프트가 나타나면 적용을 선택합니다.

    지금 우리는 모두 리트머스를 설치할 준비가 되어 있다.

    2단계: 리트머스 설치


    Litmus는 Litmus 2.0 documentation에 설명된 대로 설치됩니다.여기서 Helm을 사용하여 Litmus를 네임스페이스 모드로 설치합니다.이렇게 하려면 다음 명령을 사용하여 litmushelm 저장소를 추가합니다.
    helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
    
    그러면 저장소litmuschaos가 Helm chart 저장소 목록에 추가됩니다.다음 명령을 사용하여 저장소를 확인할 수 있습니다.
    helm repo list
    
    여기 열거된 litmuschaos 저장소를 보셔야 합니다.다음에 우리는 litmus 명칭 공간을 만들 것입니다. 모든litmus infra 구성 요소가 이 명칭 공간에 놓여 있기 때문입니다.다음 명령을 사용하여 이 작업을 수행합니다.
    kubectl create ns litmus
    
    완료되면 다음 명령을 사용하여 Litmus 제어 평면 설치를 계속할 수 있습니다.
    helm install chaos litmuschaos/litmus-2-0-0-beta --namespace=litmus --devel --set portalScope=namespace
    
    당신은 비슷한 정보를 얻을 수 있을 것이다.

    그런 다음 리트머스 CRD를 설치할 수 있습니다.클러스터 관리자 또는 적절한 권한을 가진 동일한 사용자가 CRD를 설치해야 합니다.다음 명령을 사용하여 CRD를 적용합니다.
    kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml
    
    우리는 이미 리트머스를 다 설치했다.마지막 걸음이야말로 우리가 리트머스 문에 들어갈 수 있다.만약 우리가 명령 kubectl get svc -n litmus 을 사용한다면, 우리는litmus 명칭 공간에서 실행되는 모든 서비스를 열거할 수 있습니다.여기서 볼 수 있는 것은 litmusportal-frontend-servicelitmusportal-server-service이다. 모두 NodePort 서비스이고 그에 대응하는 TCP 포트는 9091:xxxxx/TCP와 유사해야 한다. 그 중에서 xxxxx는 각 서비스의 노드 포트이다.포털에 접근하려면 방화벽 규칙을 응용하여 전방 서비스와 서버 서비스의 노드 포트를 공개해야 한다.litmusportal-server-service에 대해 우리는 첫 번째 노드 포트만 공개할 수 있다. 왜냐하면 그 중 두 개가 있기 때문이다.다음 두 가지 명령을 사용할 수 있습니다.
    gcloud compute firewall-rules create frontend-service-rule --allow tcp:<NODE_PORT>
    
    gcloud compute firewall-rules create server-service-rule --allow tcp:<NODE_PORT>
    
    첫 번째 명령<NODE_PORT>을 프런트엔드 서비스의 노드 포트로 교체하고, 첫 번째 명령<NODE_PORT>을 서버 서비스의 노드 포트로 교체합니다.완료되면 Litmus 포털에 액세스할 수 있습니다.이를 위해, 명령 kubectl get nodes -o wide 을 사용하여 그룹의 모든pod를 표시합니다.너는 반드시 이런 물건을 보아야 한다.

    노드의 경우 외부 IP를 복사하여 브라우저 URL 섹션에 붙여 넣은 다음 :xxxxx입니다. 여기서 xxxxx는 노드 포트에 해당합니다.그런 다음 Litmus 메인 화면으로 안내해야 합니다.

    사용자 이름admin과 비밀번호litmus로 로그인합니다.나중에 로그인할 때 사용할 비밀번호를 설정하라는 요청을 받을 것이다.완료되면 Litmus portal 대시보드에 액세스할 수 있습니다.

    3단계: 혼돈 작업 흐름 실행


    이 프레젠테이션에서podtatohead라는 미리 정의된 혼돈 작업 흐름 템플릿의 도움으로 혼돈 작업 흐름이Litmus에서 어떻게 실행되는지 볼 수 있습니다.이것은 Litmus 설치의 일부로서 pod delete chaos를 주입하는 간단한 응용 프로그램입니다.
    워크플로 계획 을 선택합니다.워크플로 대시보드에서 자체 에이전트를 선택하고 다음 을 선택합니다.미리 정의된 템플릿에서 작업 흐름을 만들고 podtato head를 선택하십시오.

    다음 을 선택합니다.여기서 우리는 실험 명칭, 묘사와 명칭 공간을 정의할 수 있다.기본값을 유지한 다음 다음을 선택합니다.여기서 우리는 실험 목록을 편집하고 작업 흐름에 실험을 추가/삭제하거나 배정함으로써 작업 흐름을 조정할 수 있다.podtato head 템플릿에는 사용자가 정의한 워크플로우가 있으므로 Next를 선택합니다.

    현재, 우리는 우리의 작업 절차에서 모든 혼돈 실험의 신뢰성 점수를 설정할 수 있다.이 워크플로에는 pod delete CHAOSE 실험만 있으므로 1-10 사이에 점수를 설정할 수 있습니다.그런 다음 다음 다음 을 선택합니다.

    여기서, 우리는 우리의 업무 흐름을 확정된 주파수로 집행할 수도 있고, 간단하게 그것을 즉각 집행할 수도 있다.지금 시간표를 선택하세요.다음 을 선택합니다.여기서는 워크플로우 세부 정보를 보고 워크플로우를 최종적으로 실행하기 전에 필요에 따라 변경할 수 있습니다.Finish 를 선택합니다.혼돈 작업 흐름을 성공적으로 시작했습니다.

    워크플로로 이동을 선택하면 실행 중인 워크플로가 표시됩니다.

    차트에서 워크플로의 각 단계를 선택하고 수행할 수 있습니다.

    워크플로가 완료될 때까지 기다립니다. 완료되면 그래프가 다음과 같이 표시됩니다.

    각 단계의 테이블 뷰 탭을 다음과 같이 분석할 수 있습니다.

    로그 및 결과 보기pod에 액세스하여 실험 결과를 삭제하려면 다음과 같이 선택합니다.

    워크플로 대시보드 페이지에서 워크플로가 실행되는 그래픽 분석을 보여 주는 워크플로 분석을 볼 수도 있습니다.

    이 블로그의 마지막 부분에서는 Google Kubernetes 엔진 클러스터를 설정하고, Litmus 2.0을 설치하는 방법, 그리고 마지막으로 Litmus 포털을 사용하여 혼돈 작업 흐름을 실행하는 방법에 대해 알아봤습니다.비록 이것은 빙산의 일각일 뿐이지만, 나는 정말 네가 오늘 새로운 것을 배웠으면 좋겠다. 이것은 네가 혼돈 공정의 진일보한 여정에 도움이 될 것이다.
    나의 Litmus 커뮤니티에 가입하여 모든 사람들이 혼돈 프로젝트를 개발하는 데 당신의 힘을 기여하세요.Litmus 커뮤니티에 가입하려면 다음과 같이 하십시오.
    1단계: 다음 링크를 사용하여 Kubernetes slack에 연결합니다. https://slack.k8s.io/2단계: Kubernetes slack에 있는 #litmus 채널에 가입하거나 Kubernetes slack에 가입한 후 이 링크를 사용하십시오: https://slack.litmuschaos.io/너의❤️ 하나 쓰다⭐ 우리 핸드폰에Github.리트머스에 대한 자세한 내용은 Litmus documentation를 참조하십시오.감사합니다!🙏

    좋은 웹페이지 즐겨찾기