Active Assist에 GKE Enterprise 도구 모음 사용


이 문서는 Active Assist를 사용하여 클라우드 사용 공간을 대규모로 최적화하는 데 사용할 수 있는 아키텍처 패턴을 설명하는 시리즈의 일부입니다. 이 튜토리얼에서는 GKE Enterprise 도구 모음과 호환되는 Active Assist 권장 사항에 맞게 자동화 파이프라인을 빌드하는 방법을 보여줍니다. 이 문서는 구성 동기화를 사용하여 GKE Enterprise 환경을 관리하고 구성 커넥터를 사용하여 Google Cloud 리소스를 관리하는 사용자를 대상으로 작성되었습니다. 이 시리즈를 구성하는 나머지 부분은 다음과 같습니다.

이 튜토리얼에서 빌드한 자동화 파이프라인으로 다음을 수행할 수 있습니다.

  • 조직의 Active Assist 포트폴리오 사용을 확장하기
  • Active Assist를 지속적 통합 및 지속적 배포(CI/CD) 파이프라인의 일부로 만들기
  • GitHub 이슈 및 pull 요청 등의 구성을 사용하여 Active Assist 권장사항의 검토 및 작동을 제어하기

또한 이 튜토리얼에서는 Google에서 개발한 오픈소스 도구인 kpt를 사용하여 Kubernetes 리소스 구성 데이터 파일을 관리, 조작, 맞춤설정, 적용하도록 돕습니다.

아키텍처

다음은 이 튜토리얼에서 사용하는 구성요소의 아키텍처를 보여주는 다이어그램입니다.

아키텍처에서 사용되는 구성요소

구성요소는 다음과 같은 방식으로 사용됩니다.

  • GitHub 반복 금지(DRY) 저장소 - Google Cloud 조직의 프로젝트 전체에 배포하는 Config Connector 템플릿에 사용됨
  • 프로젝트 또는 환경별 하나 이상의 GitHub 저장소 - 하이드레이션된 구성 파일을 가짐. 이러한 하이드레이션된 저장소는 구성 동기화가 관리하는 환경에 사용됩니다. 이들은 Config Connector를 사용하여 Google Cloud 조직에서 Google Cloud 리소스를 활성화하고 관리합니다.
  • 버전 제어와 드리프트 감지에 구성 동기화를 사용하는 GKE 클러스터. 이 클러스터에는 구성 커넥터도 설치되어 있습니다. 구성 커넥터를 사용 설정하면 클러스터가 Google Cloud 조직에서 Google Cloud 리소스를 관리할 수 있습니다.
  • 템플릿이 GitHub DRY 저장소로 푸시될 때 빌드를 트리거하는 Cloud Build 트리거
  • 빌드를 주기적으로 트리거하는 예약된 Cloud Build 트리거입니다. 빌드 작업은 kpt 함수를 사용합니다. 이 함수는 Active Assist Recommender API를 호출하여 활성 권장사항을 가져옵니다. 구성 커넥터에서 관리하는 Google Cloud 리소스 크기를 조절하거나 이 커넥터를 최적화해야 하는지 결정하기 위해 권장사항을 검토하고 파싱합니다. kpt 함수는 구성 커넥터 관리형 Google Cloud 리소스 크기를 조절하거나 이 리소스를 최적화해야 하는 경우 권장 변경사항 세부정보를 사용하여 DRY 저장소에 GitHub 문제를 만듭니다.

이 아키텍처의 워크플로는 다음과 같습니다.

  1. DRY 저장소에 대한 액세스 권한이 있는 승인된 팀이 저장소에서 Config Connector 템플릿을 만들고 관리합니다.
  2. 템플릿이 생성 또는 수정되고 main 브랜치에 체크인될 때 Cloud Build 작업이 트리거됩니다.
  3. Cloud Build 작업아 kpt setter를 호출하여 템플릿을 하이드레이션합니다. 작업은 하이드레이션된 구성 파일을 하이드레이션된 GitHub 저장소로 푸시합니다. Secret Manager를 사용하여 비공개 저장소의 GitHub 배포 키를 저장합니다.
  4. 구성 동기화는 하이드레이션된 저장소의 변경사항을 모니터링하고 저장소에서 발견된 업데이트를 관리형 클러스터에 적용합니다.
  5. Config Connector는 변경사항을 모니터링하고 구성 동기화에서 적용한 Kubernetes 리소스 모델(KRM) 변경사항으로 인해 리소스를 만들거나 업데이트해야 하는 경우 Google Cloud 리소스를 활성화합니다.
  6. 예약된 Cloud Build 트리거는 주기적으로 실행되어 Recommender API를 호출하여 Config Connector가 관리하는 프로젝트에 대한 활성 권장사항을 가져옵니다.
  7. 예약된 Cloud Build 작업은 커스텀 kpt 함수를 실행하여 Recommender API를 호출하고 활성 권장사항을 가져오고 파싱합니다.
  8. kpt 함수는 현재 리소스 구성과 리소스에 대해 권장되는 구성 비교를 보여주는 GitHub 이슈를 생성합니다. 이 접근 방식에서는 GitHub 이슈가 DRY 저장소에 생성되므로 저장소 변경사항을 더 쉽게 추적할 수 있습니다.

목표

  • 다음 샘플 GitHub 저장소 만들기
    • Config Connector KRM의 DRY 저장소
    • kpt setter를 사용하여 생성된 하이드레이션된 구성 파일을 보관할 저장소
  • 구성 동기화 및 Config Connector로 GKE 클러스터 만들기
  • Config Connector가 관리하는 프로젝트의 Active Assist 권장사항을 검색하는 샘플 kpt 함수 만들기
  • 템플릿이 DRY 저장소의 main 브랜치로 푸시될 때 트리거되는 Cloud Build 트리거 만들기
  • 주기적으로 실행되는 예약된 Cloud Build 작업을 만들어 Config Connector에서 관리 중인 리소스에 사용 가능한 Active Assist 권장사항을 검색하기
  • 이 튜토리얼의 GitHub 저장소에 제공된 스텁 권장사항을 사용하여 엔드 투 엔드 파이프라인 테스트하기

비용

이 문서에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요. Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.

시작하기 전에

  1. Google Cloud Console에서 프로젝트 선택기 페이지로 이동합니다.

    프로젝트 선택기로 이동

  2. Google Cloud 프로젝트를 선택하거나 만듭니다.

  3. Google Cloud 프로젝트 ID를 메모하세요. 다음 섹션에서 환경을 설정할 때 이 ID를 사용하게 됩니다. 이 프로젝트는 튜토리얼 전체에서 build 프로젝트라고 합니다.
  4. API Cloud Build, Firestore, App Engine, Pub/Sub, Cloud Run, Cloud Scheduler, and Cloud Source Repositories 사용 설정

    API 사용 설정

    이 튜토리얼에서는 기본 애플리케이션 사용자 인증 정보를 사용합니다. 프로젝트에 사용자 인증 정보 추가 페이지에서 사용자 인증 정보를 만들라는 메시지가 표시되면 취소를 클릭합니다.
  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

환경 설정

이 튜토리얼에서는 Cloud Shell에서 모든 명령어를 실행합니다.

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

  2. 현재 build Google Cloud 프로젝트의 프로젝트 ID와 프로젝트 번호의 변수를 설정합니다.

    export RECO_MGR_PROJECT=PROJECT_ID
    gcloud config set project $RECO_MGR_PROJECT
    export RECO_MGR_PROJECT_NUMBER=$(gcloud projects describe $RECO_MGR_PROJECT --format='value(projectNumber)')
    

    PROJECT_ID를 이전 섹션에서 기록한 프로젝트 ID로 바꾸세요.

  3. 배포 리전의 변수를 설정합니다.

    export REGION=us-central1
    export ZONE=us-central1-a
    
  4. 이 튜토리얼에서 사용된 샘플 앱의 코드가 포함된 저장소를 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/activeassist-anthos-toolchain.git
    
  5. 프로젝트 디렉터리로 이동합니다.

    cd activeassist-anthos-toolchain
    

파이프라인 빌드

이 섹션에서는 파이프라인을 빌드할 수 있는 구성요소를 만듭니다. Active Assist 권장사항은 사용 패턴과 시스템 측정항목을 기준으로 생성됩니다. 추천 카테고리마다 다른 기본 기간을 사용하여 생성된 추천을 기준으로 사용 데이터와 측정항목을 분석할 수 있습니다. 엔드 투 엔드 파이프라인을 테스트하도록 이전 단계에서 클론한 저장소에서 엔드 투 엔드 파이프라인을 실행하는 데 사용할 샘플 권장사항(스텁)을 제공합니다.

또는 기존 리소스와 권장사항이 있는 샘플 프로젝트에서 파이프라인을 실행하는 경우 샘플 코드를 적절하게 변경한 후에 파이프라인을 실행할 수 있습니다.

비공개 샘플 GitHub 저장소 설정

다음 섹션에서는 이 튜토리얼에 사용할 샘플 GitHub 저장소를 설정합니다.

비공개 DRY GitHub 저장소 설정

  1. DRY 저장소에 대한 비공개 GitHub 저장소를 만듭니다. 저장소에 지정한 이름을 기록해 둡니다.

  2. Cloud Shell에서 GitHub 사용자 이름과 DRY 저장소 이름에 대한 환경 변수를 만듭니다.

    export REPO_OWNER=YOUR_GITHUB_USERNAME
    export DRY_REPO_NAME=YOUR_PRIVATE_DRY_REPO
    

    다음을 바꿉니다.

    • YOUR_GITHUB_USERNAME: GitHub 사용자 이름
    • YOUR_PRIVATE_DRY_REPO: DRY 저장소 이름
  3. 개인 액세스 토큰(PAT)을 만들어 이 저장소에 이슈를 생성합니다. 검토할 Active Assist 권장사항이 있는 경우 파이프라인이 GitHub 이슈를 생성합니다. GitHub에서 PAT를 만드는 방법에 대한 상세 설명은 GitHub 문서를 참조하세요.

    이 토큰의 범위를 설정할 때 비공개 저장소에 대한 모든 권한을 선택합니다.

  4. Cloud Shell에서 생성한 PAT의 환경 변수를 만듭니다.

    export GITHUB_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
    

    YOUR_PERSONAL_ACCESS_TOKEN을 고유한 토큰으로 바꿉니다.

하이드레이션된 비공개 GitHub 저장소 설정

  1. 수화된 저장소의 비공개 GitHub 저장소를 만듭니다. 저장소에 지정한 이름을 기록해 둡니다.

  2. Cloud Shell에서 하이드레이션된 저장소의 환경 변수를 설정합니다.

    export HYDRATED_REPO_NAME=YOUR_PRIVATE_HYDRATED_REPO
    export HYDRATED_REPO='git@github.com:$REPO_OWNER/$HYDRATED_REPO_NAME.git'
    

    YOUR_PRIVATE_HYDRATED_REPO를 하이드레이션된 저장소의 이름으로 바꿉니다.

  3. 배포 키 쌍을 만듭니다.

    ssh-keygen -t rsa -b 4096 \
    -C 'active-assist-robot' \
    -N '' \
    -f $(pwd)/active-assist-robot
    

    배포 키를 사용하면 구성 파일을 하이드레이션할 Cloud Build 작업을 실행할 때 비공개 GitHub 저장소에 배포할 수 있습니다.

  4. 생성된 키를 출력합니다.

    cat $(pwd)/active-assist-robot.pub
    
  5. 비공개 GitHub 저장소에 배포 키를 추가합니다. 배포 키를 추가할 때 쓰기 액세스 허용을 선택해야 합니다. GitHub 저장소에 배포 키를 추가하는 방법은 배포 키 관리에 대한 GitHub 문서를 참조하세요.

Secret Manager에 GitHub 키 업로드

  1. Cloud Shell에서 배포 키 쌍의 비공개 키를 저장할 보안 비밀을 만듭니다.

    gcloud secrets create github-ssh-key \
      --data-file=$(pwd)/active-assist-robot
    
  2. PAT를 저장할 보안 비밀을 만듭니다.

    echo $GITHUB_TOKEN | gcloud secrets create github-pat --data-file=-
    

GKE 클러스터 만들기

이 섹션에서는 구성 커넥터 부가기능으로 GKE 클러스터를 만들고 ID를 만들며 구성 커넥터를 구성합니다. 또한 구성 동기화를 구성합니다. 구성 동기화를 사용하여 모든 인프라에서 커스텀 정책을 포함한 공통 구성을 만든 후 온프레미스와 클라우드 모두에 적용할 수 있습니다. 구성 동기화에서는 변경사항을 평가한 후에 모든 Kubernetes 클러스터에 배포하여 항상 원하는 상태를 클러스터에 반영합니다.

  1. Cloud Shell에서 Config Connector 부가기능이 사용 설정된 새 GKE 클러스터를 만듭니다.

    gcloud container clusters create sample-ops \
      --machine-type n1-standard-4 \
      --zone $ZONE \
      --release-channel regular \
      --addons ConfigConnector \
      --workload-pool=$RECO_MGR_PROJECT.svc.id.goog \
      --enable-stackdriver-kubernetes \
      --enable-ip-alias
    
  2. GKE 부가기능 설치 가이드의 다음 섹션을 완료하여 ID를 만들고 Config Connector를 구성합니다.

    1. ID 만들기
    2. Config Connector 구성
  3. 생성된 GKE 클러스터에 구성 동기화를 설치합니다. 구성 동기화를 구성할 때 다음을 수행해야 합니다.

    1. 토큰을 사용하여 Git에 대한 읽기 전용 액세스 권한을 구성 동기화에 부여합니다. 비공개 DRY GitHub 저장소를 설정할 때 만든 GitHub 토큰을 사용합니다. 토큰은 $GITHUB_TOKEN 환경 변수를 통해 사용 가능합니다.
    2. gcloud를 사용하여 구성 동기화를 구성합니다. 다음을 설정합니다.
      1. sourceFormat: hierarchy
      2. syncRepo: https://github.com/YOUR_GITHUB_USERNAME/YOUR_PRIVATE_HYDRATED_REPO
      3. syncBranch: main
      4. secretType: token
      5. policyDir: 이 옵션은 입력하지 마세요.

하이드레이션된 저장소에 푸시할 Cloud Build 트리거 생성

다음 섹션에서는 템플릿이 YOUR_PRIVATE_DRY_REPO 저장소의 기본 분기로 푸시될 때 트리거되는 Cloud Build 트리거를 만듭니다. 이 트리거는 YOUR_PRIVATE_DRY_REPO 저장소에서 데이터로서의 구성 KRM 템플릿을 수화하는 단계를 실행하고 수화된 구성 파일을 YOUR_PRIVATE_HYDRATED_REPO 저장소에 푸시합니다.

Cloud Build를 GitHub 저장소에 연결

이 섹션에서는 YOUR_PRIVATE_DRY_REPOYOUR_PRIVATE_HYDRATED_REPO GitHub 저장소를 Cloud Build에 연결합니다.

  1. Cloud Build 앱의 GitHub Marketplace 페이지로 이동합니다.

    Cloud Build 앱 페이지로 이동합니다.

  2. Setup with Google Cloud Build(Google Cloud Build 설정하기)를 클릭합니다.

  3. 메시지가 표시되면 GitHub에 로그인합니다.

  4. 저장소만 선택을 선택합니다.

    저장소 선택 드롭다운을 사용하여 Cloud Build 앱을 통해 YOUR_PRIVATE_DRY_REPOYOUR_PRIVATE_HYDRATED_REPO 저장소에 대한 액세스를 사용 설정합니다.

  5. 설치를 클릭합니다.

  6. Google Cloud에 로그인합니다. 승인 페이지가 표시되고 여기에 Google Cloud Build 앱이 Google Cloud에 연결되도록 승인하라는 메시지가 표시됩니다.

  7. Authorize Google Cloud Build by GoogleCloudBuild(GoogleCloudBuild로 Google Cloud Build 승인)를 클릭합니다. Google Cloud Console로 리디렉션됩니다.

  8. Google Cloud 프로젝트를 선택합니다.

  9. 동의 체크박스를 선택하고 다음을 클릭합니다.

  10. 설치를 클릭합니다.

  11. Google Cloud에 로그인합니다. 승인 페이지가 표시되고 여기에 Google Cloud Build 앱이 Google Cloud에 연결되도록 승인하라는 메시지가 표시됩니다.

  12. Authorize Google Cloud Build by GoogleCloudBuild(GoogleCloudBuild로 Google Cloud Build 승인)를 클릭합니다. Google Cloud Console로 리디렉션됩니다.

  13. Google Cloud 프로젝트를 선택합니다.

  14. 동의 체크박스를 선택하고 다음을 클릭합니다.

  15. 저장소 선택 페이지가 나타나면 다음 GitHub 저장소를 선택하세요.

    • YOUR_PRIVATE_DRY_REPO
    • YOUR_PRIVATE_HYDRATED_REPO
  16. 연결을 클릭한 후 완료를 클릭합니다.

DRY 저장소의 Cloud Build 트리거 만들기

  1. Cloud Shell에서 다음 명령어를 실행합니다.

    envsubst < cloudbuild.template.yaml > cloudbuild.yaml
    

    이 명령어는 cloudbuild.yaml 파일을 생성합니다.

  2. 트리거를 만듭니다.

    gcloud beta builds triggers create github \
      --name ActiveAssistDemo \
      --repo-name=$DRY_REPO_NAME \
      --repo-owner=$REPO_OWNER \
      --branch-pattern="main" \
      --build-config=cloudbuild.yaml
    
  3. Cloud Build 서비스 계정에 Secret Manager에 액세스할 수 있는 권한을 부여합니다.

    gcloud secrets add-iam-policy-binding github-ssh-key  \
      --member="serviceAccount:${RECO_MGR_PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
      --role="roles/secretmanager.secretAccessor"
    
    gcloud secrets add-iam-policy-binding github-pat  \
      --member="serviceAccount:${RECO_MGR_PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
      --role="roles/secretmanager.secretAccessor"
    

Active Assist 권장사항을 위한 예약된 Cloud Build 트리거 만들기

다음 섹션에서는 주기적으로 실행되는 예약된 Cloud Build 트리거를 만듭니다. 이 트리거는 kpt 함수를 사용하여 Active Assist 추천을 가져오고 리소스에 대한 활성 권장사항이 YOUR_PRIVATE_HYDRATED_REPO 저장소에 있는지 확인합니다. 검토하고 활성화해야 하는 리소스 구성에 대한 활성 권장사항이 있으면 kpt 함수에서 YOUR_PRIVATE_HYDRATED_REPO 저장소에 GitHub 문제도 만듭니다.

Cloud Build 이미지 생성

이 섹션에서는 kpt, gh, 노드 구성요소가 있는 Cloud Build 이미지를 생성합니다.

  1. Cloud Shell에서 Docker 이미지를 빌드하여 Container Registry에 푸시하세요.

    gcloud auth configure-docker
    
    docker build -t gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1 ./recommender-kpt-function
    
    docker push gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1
    

하이드레이션된 저장소에 대한 Cloud Build 트리거 만들기

  1. Cloud Shell에서 예약된 Cloud Build 트리거를 설정하는 데 필요한 구성 파일을 만듭니다.

     envsubst < cloudbuild-scheduled-recommendations.template.yaml > cloudbuild-scheduled-recommendations.yaml
    
  2. Cloud Build 트리거를 만듭니다.

    gcloud beta builds triggers create github \
      --name ActiveAssistScheduledRecommendations \
      --repo-name=YOUR_PRIVATE_HYDRATED_REPO \
      --repo-owner=$REPO_OWNER \
      --branch-pattern="main" \
      --build-config=cloudbuild-scheduled-recommendations.yaml
    
  3. 이 트리거의 ID를 가져옵니다.

    export TRIGGER_ID=`gcloud beta builds triggers describe \
      ActiveAssistScheduledRecommendations \
      --format="value(id)"`
    

트리거를 호출하도록 Cloud Scheduler 작업 만들기

  1. Cloud Shell에서 서비스 계정을 만듭니다.

    gcloud iam service-accounts create build-invoker \
       --description "Service Account used by Cloud Scheduler to invoke the sample scheduled Cloud Build job" \
       --display-name "recommender-scheduler-sa" \
       --project $RECO_MGR_PROJECT
    

    Cloud Scheduler 작업은 이 서비스 계정을 사용하여 recommender-parser 서비스를 실행합니다.

  2. 서비스 계정에 Cloud Build 작업을 호출할 수 있는 권한을 부여합니다.

    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member serviceAccount:build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/cloudbuild.builds.editor \
      --project $RECO_MGR_PROJECT
    
     gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
       --member serviceAccount:build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
       --role roles/serviceusage.serviceUsageConsumer \
       --project $RECO_MGR_PROJECT
    
  3. 이전 단계에서 만든 트리거를 호출하는 Cloud Scheduler 작업을 만듭니다.

    gcloud scheduler jobs create http scheduled-build \
       --project $RECO_MGR_PROJECT \
       --time-zone "America/Los_Angeles" \
       --schedule="0 */3 * * *" \
       --uri="https://cloudbuild.googleapis.com/v1/projects/${RECO_MGR_PROJECT}/triggers/${TRIGGER_ID}:run" \
       --description="Scheduler job to invoke Cloud Build" \
       --oauth-service-account-email="build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com" \
       --headers="Content-Type=application/json" \
       --http-method="POST" \
    

    다음 메시지가 표시되면 Y를 선택하세요.

    There is no App Engine app in the project.

    App Engine 애플리케이션을 배치할 리전을 선택하라는 메시지가 표시되면 us-central 리전을 선택합니다.

Cloud Build 구성 파일 커밋 및 GitHub로 푸시

생성한 2개의 Cloud Build 구성 파일을 YOUR_PRIVATE_DRY_REPO 저장소에 푸시하세요.

git remote add dry https://github.com/$REPO_OWNER/$DRY_REPO_NAME.git

git add cloudbuild.yaml
git add cloudbuild-scheduled-recommendations.yaml
git commit -m "Added cloudbuild configuration YAMLs"
git push dry main

비공개 저장소로 푸시할 때 GitHub 사용자 인증 정보를 입력하라는 메시지가 표시될 수 있습니다.

Cloud Build 작업 결과 검토

변경사항을 커밋하고 YOUR_PRIVATE_DRY_REPO 저장소에 푸시하면 Cloud Build 작업이 트리거됩니다. Cloud Build 작업이 성공적으로 실행되면 몇 가지 리소스가 생성됩니다. 이 섹션에서는 Cloud Build 작업이 완료된 후 리소스가 생성되었는지 여부를 확인합니다.

  1. Cloud Shell에서 sample-ops 클러스터에 activeassist-kcc라는 네임스페이스가 있는지 확인하세요.

    kubectl get ns | grep activeassist-kcc
    
  2. 구성 커넥터는 실행 중인 샘플 Compute Engine 인스턴스를 PROJECT_ID 프로젝트에 배포합니다.

    Compute Engine 인스턴스가 프로젝트에 있는지 확인합니다.

     gcloud compute instances list | grep \
     computeinstance-sample-cloudmachine
    

    이 머신의 MACHINE_TYPE 유형은 n1-standard-1입니다.

엔드 투 엔드 테스트 실행

엔드 투 엔드 파이프라인을 테스트할 수 있도록 이 튜토리얼을 위해 클론한 저장소에서 샘플 권장사항(스텁)을 제공합니다. 이러한 스텁을 사용하여 엔드 투 엔드 파이프라인을 실행합니다. 스텁은 Active Assist 권장사항 페이로드를 모방하며 Compute Engine 인스턴스의 머신 유형을 n1-standard-1 인스턴스 유형에서 g1-small 인스턴스 유형으로 변경하는 권장사항을 가집니다.

이 섹션에서는 예약된 Cloud Build 트리거를 수동으로 호출하여 kpt 함수를 사용하여 Active Assist 권장사항을 가져오는 작업을 실행합니다. 또한 YOUR_PRIVATE_DRY_REPO 저장소에 GitHub 이슈가 생성되었는지 확인합니다.

  1. Google Cloud 콘솔에서 빌드 트리거 페이지를 엽니다.

    빌드 트리거 페이지 열기

  2. ActiveAssistScheduledRecommendations 트리거를 선택합니다.

  3. 트리거를 수동으로 테스트하려면 트리거 목록의 트리거 항목에서 실행을 클릭합니다.

    트리거는 YOUR_PRIVATE_DRY_REPO 저장소에 GitHub 이슈를 만듭니다. 이슈는 다음 예시와 유사합니다.

    gcloud auth configure-docker
    
    docker build -t gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1 ./recommender-kpt-function
    
    docker push gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1
    

    샘플 문제에서 kpt 함수 출력은 Compute Engine 인스턴스의 현재 MACHINE_TYPE 유형이 n1-standard-1 유형임을 보여줍니다. Active Assist 권장사항은 g1-small 유형으로 변경하는 것입니다.

    기업의 버전 제어 검토자는 자동화된 GitHub 이슈를 검토하고 기업에 맞게 조치를 취할 수 있습니다.

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계