에이전트 개발 키트(ADK) 및 Vertex AI를 사용하여 GKE에 에이전트 AI 애플리케이션 배포


이 가이드에서는 Google Kubernetes Engine(GKE)을 사용하여 컨테이너화된 에이전트 AI/ML 애플리케이션을 배포하고 관리하는 방법을 보여줍니다. Google 에이전트 개발 키트(ADK)를 대규모 언어 모델(LLM) 제공업체인 Vertex AI와 결합하면 AI 에이전트를 효율적이고 대규모로 운영할 수 있습니다. 이 가이드에서는 Gemini 2.0 Flash로 구동되는 FastAPI 기반 에이전트를 개발에서 GKE의 프로덕션 배포로 가져오는 엔드 투 엔드 프로세스를 안내합니다.

이 가이드는 에이전트 AI/ML 애플리케이션을 서빙하기 위해 Kubernetes 컨테이너 조정 기능을 사용하는 데 관심이 있는 머신러닝(ML) 엔지니어, 개발자, 클라우드 설계자를 대상으로 합니다. Google Cloud 콘텐츠의 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 일반 GKE Enterprise 사용자 역할 및 태스크를 참조하세요.

시작하기 전에 다음 사항을 숙지하세요.

배경

이 가이드에서는 여러 Google 기술을 결합하여 에이전트 AI를 위한 확장 가능한 플랫폼을 만듭니다. GKE는 ADK를 사용하여 빌드된 에이전트의 컨테이너 조정을 제공합니다. LLM 추론에 Vertex AI API를 사용하면 추론이 Google의 관리형 인프라에서 처리되므로 GKE 클러스터에 특수 GPU 하드웨어가 필요하지 않습니다.

Google 에이전트 개발 키트(ADK)

에이전트 개발 키트(ADK)는 AI 에이전트를 개발하고 배포하기 위한 유연한 모듈식 프레임워크입니다. Gemini 및 Google 생태계에 최적화되어 있지만 ADK는 모델에 구애받지 않고 배포에 독립적이며 다른 프레임워크와의 호환성을 위해 빌드됩니다.

자세한 내용은 ADK 문서를 참고하세요.

GKE 관리형 Kubernetes 서비스

GKE는 컨테이너화된 애플리케이션을 배포, 확장, 관리하기 위한 관리형 Kubernetes 서비스입니다. GKE는 확장 가능한 리소스, 분산 컴퓨팅, 효율적인 네트워킹을 포함하여 LLM의 계산 요구를 처리하는 데 필요한 인프라를 제공합니다.

주요 Kubernetes 개념에 대한 자세한 내용은 Kubernetes 학습 시작을 참고하세요. GKE에 대한 정보 그리고 GKE가 Kubernetes를 확장, 자동화, 관리하는 데 어떻게 도움이 되는지 알아보려면 GKE 개요를 참고하세요.

Vertex AI

Vertex AI는 Google Cloud의 통합 ML 플랫폼으로, 개발자가 AI/ML 모델을 빌드, 배포, 확장할 수 있습니다. GKE의 에이전트 AI 애플리케이션의 경우 Vertex AI는 Gemini 2.0 Flash와 같은 LLM에 대한 액세스, 학습 및 추론을 위한 관리형 인프라, 효율적인 수명 주기 관리를 위한 MLOps 기능을 비롯한 필수 도구와 서비스를 제공합니다.

Vertex AI API를 통해 LLM을 사용할 때 모델 추론은 Google의 관리형 인프라에서 발생하므로 GKE 클러스터에 특정 GPU 또는 TPU 할당량이 필요하지 않습니다.

에이전트 AI 애플리케이션을 위한 Vertex AI에 대한 자세한 내용은 Vertex AI 문서를 참고하세요.

Gemini 2.0 Flash

Gemini 2.0 Flash는 빠른 속도, 기본 제공 도구 사용, 멀티모달 생성, 토큰 컨텍스트 윈도우 100만 개 등 에이전트형 워크로드용으로 설계된 차세대 기능과 향상된 기능을 제공합니다. Gemini 2.0 Flash는 이전 Flash 모델을 개선하여 유사한 속도로 향상된 품질을 제공합니다.

Gemini 2.0 Flash에 관한 기술 정보(예: 성능 벤치마크, 학습 데이터 세트 정보, 지속 가능성 노력, 의도한 사용 및 제한사항, 윤리 및 안전에 대한 Google의 접근 방식)는 Gemini 2.0 Flash 모델 카드를 참고하세요.

목표

이 가이드에서는 다음을 수행하는 방법을 보여줍니다.

  • Google Cloud 환경을 설정합니다.
  • 에이전트의 컨테이너 이미지를 빌드합니다.
  • GKE 클러스터에 에이전트를 배포합니다.
  • 배포된 에이전트를 테스트합니다.

비용

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

각 서비스의 가격을 검토하여 잠재적 비용을 파악합니다.

시작하기 전에

  • Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Verify that billing is enabled for your Google Cloud project.

  • Enable the required APIs.

    Enable the APIs

  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Verify that billing is enabled for your Google Cloud project.

  • Enable the required APIs.

    Enable the APIs

  • Make sure that you have the following role or roles on the project: roles/container.admin, roles/iam.serviceAccountAdmin, roles/artifactregistry.admin, roles/cloudbuild.builds.editor, roles/resourcemanager.projectIamAdmin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM으로 이동
    2. 프로젝트를 선택합니다.
    3. 액세스 권한 부여를 클릭합니다.
    4. 새 주 구성원 필드에 사용자 식별자를 입력합니다. 일반적으로 Google 계정의 이메일 주소입니다.

    5. 역할 선택 목록에서 역할을 선택합니다.
    6. 역할을 추가로 부여하려면 다른 역할 추가를 클릭하고 각 역할을 추가합니다.
    7. 저장을 클릭합니다.

환경 준비

이 튜토리얼에서는 Cloud Shell을 사용하여 Google Cloud에서 호스팅되는 리소스를 관리합니다. Cloud Shell에는 kubectl, terraform, Google Cloud CLI를 비롯해 이 튜토리얼에 필요한 소프트웨어가 사전 설치되어 있습니다.

Cloud Shell로 환경을 설정하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Cloud Shell 세션을 시작하고 Cloud Shell 활성화 아이콘 Cloud Shell 활성화를 클릭합니다. 그러면 Google Cloud 콘솔 하단 창에서 세션이 실행됩니다.
  2. 기본 환경 변수를 설정합니다.

    gcloud config set project PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=REGION
    export PROJECT_ID=PROJECT_ID
    export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
    export WORKLOAD_POOL=$PROJECT_ID.svc.id.goog
    export PROJECT_NUMBER=$(gcloud projects describe --format json $PROJECT_ID | jq -r ".projectNumber")
    

    다음 값을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트 ID
    • REGION: GKE 클러스터, Artifact Registry, 기타 리전별 리소스를 프로비저닝할 Google Cloud 리전(예: us-central1)입니다.

샘플 프로젝트 클론

  1. Cloud Shell 터미널에서 튜토리얼의 샘플 코드 저장소를 클론합니다.

    git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples.git
    
  2. 가이드 디렉토리로 이동합니다.

    cd kubernetes-engine-samples/ai-ml/adk-vertex
    

Google Cloud 리소스 만들기 및 구성

GKE에 에이전트를 배포하려면 필요한Google Cloud 리소스를 프로비저닝합니다. 직접 명령줄 실행을 위한 gcloud CLI 또는 코드형 인프라를 위한 Terraform을 사용하여 에이전트를 배포할 수 있습니다.

gcloud

이 섹션에서는 Vertex AI와의 원활한 통합을 위해 GKE 클러스터, Artifact Registry, GKE용 워크로드 아이덴티티 제휴를 설정하는 gcloud CLI 명령어를 제공합니다. 환경 준비에 설명된 대로 환경 변수를 설정했는지 확인합니다.

  1. GKE 클러스터 만들기: GKE Autopilot 또는 Standard 클러스터에 컨테이너화된 에이전트형 애플리케이션을 배포할 수 있습니다. 완전 관리형 Kubernetes 환경에는 Autopilot 클러스터를 사용하는 것이 좋습니다. 워크로드에 가장 적합한 GKE 작업 모드를 선택하려면 GKE 작업 모드 선택을 참고하세요.

    Autopilot

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

    gcloud container clusters create-auto CLUSTER_NAME \
            --location=$GOOGLE_CLOUD_LOCATION \
            --project=$PROJECT_ID
    

    CLUSTER_NAME을 GKE Autopilot 클러스터 이름으로 바꿉니다.

    Standard

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

    gcloud container clusters create CLUSTER_NAME \
        --location=$GOOGLE_CLOUD_LOCATION \
        --project=$PROJECT_ID \
        --release-channel=stable \
        --num-nodes=1 \
        --machine-type=e2-medium \
        --workload-pool=$PROJECT_ID.svc.id.goog
    

    CLUSTER_NAME을 Standard 클러스터 이름으로 바꿉니다.

  2. Docker 컨테이너용 Artifact Registry 저장소 만들기: 에이전트의 Docker 컨테이너 이미지를 안전하게 저장하고 관리할 Artifact Registry 저장소를 만듭니다. 이 비공개 레지스트리를 사용하면 애플리케이션을 GKE에 쉽게 배포할 수 있으며 Cloud Build와 통합할 수 있습니다.

    gcloud artifacts repositories create adk-repo \
        --repository-format=docker \
        --location=$GOOGLE_CLOUD_LOCATION \
        --project=$PROJECT_ID
    
  3. 저장소 URL 가져오기: 이 명령어를 실행하여 저장소의 전체 경로를 확인합니다. 다음 단계에서 이 경로 형식을 사용하여 Docker 이미지에 태그를 지정합니다.

    gcloud artifacts repositories describe adk-repo \
        --location $GOOGLE_CLOUD_LOCATION \
        --project=$PROJECT_ID
    
  4. Compute Engine 기본 서비스 계정에 필요한 IAM 역할 부여: 기본적으로 Compute Engine 기본 서비스 계정에는 Artifact Registry에 이미지를 푸시하거나 Cloud Storage 또는 로그의 객체를 볼 수 있는 권한이 없습니다. 이러한 작업에 필요한 역할을 부여합니다.

    ROLES_TO_ASSIGN=(
        "roles/artifactregistry.writer"
        "roles/storage.objectViewer"
        "roles/logging.viewer"
    )
    
    for ROLE in "${ROLES_TO_ASSIGN[@]}"; do
        gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
            --member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \
            --role="${ROLE}"
    done
    
  5. 에이전트 컨테이너 이미지 빌드 및 푸시: 이 명령어를 실행하여 Docker 이미지를 빌드하고 Artifact Registry에 푸시합니다. Dockerfile과 애플리케이션 코드가 /app 디렉터리 내에 있는지 확인합니다.

    export IMAGE_URL="${GOOGLE_CLOUD_LOCATION}-docker.pkg.dev/${PROJECT_ID}/adk-repo/adk-agent:latest"
    
    gcloud builds submit \
        --tag "$IMAGE_URL" \
        --project="$PROJECT_ID" \
        app
    
  6. 이미지가 푸시되었는지 확인합니다.

    gcloud artifacts docker images list \
        $GOOGLE_CLOUD_LOCATION-docker.pkg.dev/$PROJECT_ID/adk-repo/adk-agent \
        --project=$PROJECT_ID
    

Terraform

이 섹션에서는 Terraform을 사용하여 Google Cloud리소스를 프로비저닝하는 방법을 설명합니다. 클론한 샘플 저장소에는 필요한 Terraform 구성 파일이 포함되어 있습니다.

  1. Terraform 초기화: terraform 디렉터리로 이동하여 Terraform을 초기화합니다.

    terraform init
    
  2. 실행 계획 검토: 이 명령어는 Terraform에서 적용할 인프라 변경사항을 보여줍니다.

    terraform plan -var-file=default_env.tfvars
    
  3. 구성 적용: Terraform 계획을 실행하여 Google Cloud 프로젝트에 리소스를 만듭니다. 메시지가 표시되면 yes로 확인합니다.

    terraform apply -var-file=default_env.tfvars
    

    이 명령어를 실행하면 Terraform이 GKE용 워크로드 아이덴티티 제휴를 비롯한 GKE 클러스터와 Artifact Registry 저장소를 프로비저닝하고 필요한 IAM 역할과 서비스 계정을 구성합니다.

Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.

클러스터와 통신하도록 kubectl을 구성합니다.

클러스터와 통신하도록 kubectl을 구성하지 않은 경우 다음 명령어를 실행합니다.

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=${GOOGLE_CLOUD_LOCATION}

CLUSTER_NAME을 GKE 클러스터 이름으로 바꿉니다.

GKE용 워크로드 아이덴티티 제휴 액세스 구성

Terraform을 사용하는 경우 이 단계를 건너뛸 수 있습니다. 이 프로세스는 Kubernetes 서비스 계정(KSA)을 IAM 서비스 계정에 연결하여 에이전트가 Google Cloud 서비스에 안전하게 액세스할 수 있도록 합니다.

  1. Vertex AI 액세스용 서비스 계정을 만듭니다.

    gcloud iam service-accounts create vertex-sa \
        --project=$PROJECT_ID
    
  2. 서비스 계정에 aiplatform.user 역할을 부여합니다. 이렇게 하면 서비스 계정이 Vertex AI와 상호작용할 수 있습니다.

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member "serviceAccount:vertex-sa@$PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/aiplatform.user"
    
  3. 클러스터에 KSA를 만듭니다. 이 명령어를 실행하기 전에 클러스터와 통신하도록 kubectl 구성의 안내를 따르세요.

    kubectl create serviceaccount vertex-sa
    
  4. KSA에 주석을 추가하여 서비스 계정에 연결합니다.

    kubectl annotate serviceaccount vertex-sa \
        iam.gke.io/gcp-service-account=vertex-sa@$PROJECT_ID.iam.gserviceaccount.com
    
  5. 서비스 계정에 KSA의 GKE용 워크로드 아이덴티티 제휴 사용자 역할을 할 수 있는 권한을 부여합니다.

    gcloud iam service-accounts add-iam-policy-binding vertex-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/iam.workloadIdentityUser \
        --member "serviceAccount:$PROJECT_ID.svc.id.goog[default/vertex-sa]"
    

에이전트 애플리케이션 배포 및 구성

Google Cloud 리소스를 설정한 후 배포를 위해 에이전트 애플리케이션을 준비하고 GKE에서 런타임을 구성합니다. 여기에는 에이전트의 코드를 정의하고, 이를 컨테이너화하는 Dockerfile을 만들고, 클러스터에 배포하는 Kubernetes 매니페스트를 작성하는 작업이 포함됩니다.

  1. 에이전트 애플리케이션 구조 이해하기: /app 디렉터리에는 에이전트 애플리케이션의 핵심 파일이 포함됩니다.
    • main.py: 에이전트의 API를 노출하는 역할을 하는 FastAPI 애플리케이션 진입점입니다.
    • agent.py: Vertex AI를 사용하고 요청을 처리하는 방법을 정의하는 ADK 에이전트의 로직이 포함되어 있습니다.
    • __init__.py: Python 패키지를 초기화합니다.
    • requirements.txt: 에이전트의 모든 Python 종속 항목을 나열합니다.
    • Dockerfile: 애플리케이션이 Docker 이미지로 패키징되는 방식을 정의합니다.
  2. 에이전트 배포 매니페스트 만들기: tutorials-and-examples/adk/vertex 디렉터리에서 다음 매니페스트를 agent-deployment.yaml이라는 파일로 만듭니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: adk-agent-deployment
      labels:
        app: adk-agent
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: adk-agent
      template:
        metadata:
          labels:
            app: adk-agent
        spec:
          serviceAccountName: vertex-sa
          containers:
          - name: adk-agent
            image: IMAGE_URL
            ports:
            - containerPort: 8000
            env:
            - name: GOOGLE_CLOUD_PROJECT_ID
              value: PROJECT_ID
            - name: GOOGLE_CLOUD_LOCATION
              value: REGION
            - name: GOOGLE_GENAI_USE_VERTEXAI
              value: "1"
            - name: PORT
              value: "8000"
            resources:
              requests:
                memory: "512Mi"
                cpu: "500m"
              limits:
                memory: "1Gi"
                cpu: "1"
    

    다음 값을 바꿉니다.

    • IMAGE_URL: Artifact Registry에 푸시한 Docker 이미지의 전체 URL입니다(예: us-central1-docker.pkg.dev/${PROJECT_ID}/adk-repo/adk-agent:latest). 이전 섹션의 gcloud artifacts docker images list 명령어 출력에서 이 값을 가져올 수 있습니다. 대신 다음과 같은 명령어를 실행합니다. sed -i "s|image: IMAGE_URL|image: $IMAGE_URL|" agent-deployment.yaml
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
    • REGION: GKE 클러스터가 프로비저닝된 Google Cloud 리전입니다.
  3. 배포 매니페스트를 적용합니다.

    kubectl apply -f agent-deployment.yaml
    

    이 명령어는 GKE 클러스터에서 에이전트 애플리케이션의 배포 및 연결된 포드를 만듭니다.

  4. 에이전트 노출: 이러한 방법을 사용하여 액세스할 수 있도록 에이전트를 노출할 수 있습니다.

    • 클러스터 외부에서 에이전트에 액세스하려면 Kubernetes 서비스를 만드세요. 웹 API의 경우 LoadBalancer 유형 서비스가 일반적입니다.
    • 로컬 개발 및 테스트의 경우 kubectl port-forward 명령어를 사용하여 에이전트에 직접 액세스합니다.

    LoadBalancer

    1. 다음 매니페스트를 agent-service.yaml이라는 파일로 저장합니다.

      apiVersion: v1
      kind: Service
      metadata:
        name: adk-agent-service
      spec:
        selector:
          app: adk-agent
        type: LoadBalancer # Creates an external IP address for access
        ports:
        -   protocol: TCP
          port: 80
          targetPort: 8000 # Matches the containerPort exposed in the Deployment
      
    2. 매니페스트를 적용합니다.

      kubectl apply -f agent-service.yaml
      

      외부 IP 주소가 프로비저닝되는 데 몇 분 정도 걸릴 수 있습니다.

    3. IP 주소가 프로비저닝되었는지 확인합니다.

      kubectl get service adk-agent-service
      

      출력에서 EXTERNAL-IP 값을 찾습니다. 값을 사용할 수 있게 되면 이 IP 주소를 사용하여 배포된 에이전트와 상호작용합니다.

    port-forward

    port-forward를 주로 사용하는 경우 LoadBalancer 대신 ClusterIP 서비스 유형을 사용하는 것이 좋습니다. ClusterIP 서비스는 내부용이며 리소스를 적게 사용하기 때문입니다.

    POD_NAME=$(kubectl get pods -l app=adk-agent -o jsonpath='{.items[0].metadata.name}')
    kubectl port-forward $POD_NAME 8000:8000
    

    이 명령어는 터미널을 차단하지만 머신의 localhost:8000에서 GKE 클러스터 내에서 실행되는 에이전트로 트래픽을 전달합니다.

배포된 에이전트 테스트

이제 에이전트 애플리케이션이 배포되고 노출되었으므로 기능을 테스트합니다.

이 섹션에서는 에이전트의 엔드포인트를 식별하고 에이전트의 API를 테스트하는 방법을 설명합니다.

  1. 에이전트의 엔드포인트 식별: 이전 섹션에서 에이전트를 노출하기 위해 선택한 방법에 따라 액세스 가능한 엔드포인트를 식별합니다.

    LoadBalancer

    1. 외부 IP 주소를 가져옵니다.

      kubectl get service adk-agent-service -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
      
    2. 더 쉽게 사용할 수 있도록 외부 IP 주소를 환경 변수에 저장합니다.

      export AGENT_IP=$(kubectl get service adk-agent-service -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
      

      에이전트의 기본 URL은 http://${AGENT_IP}입니다.

    port-forward

    kubectl port-forward 명령어가 별도의 터미널에서 실행되는지 확인합니다. 에이전트의 기본 URL은 http://localhost:8000입니다.

  2. 에이전트의 API 테스트: /run 엔드포인트에 curl 요청을 전송하여 에이전트의 API를 테스트합니다. 에이전트는 메시지 필드가 있는 JSON 페이로드를 예상합니다. AGENT_BASE_URLhttp://${AGENT_IP}(LoadBalancer용) 또는 http://localhost:8000(port-forward용)으로 바꿉니다.

    1. 새 세션을 만듭니다. 이렇게 하면 에이전트가 새 대화를 준비합니다.

      # The user ID and session ID are arbitrary.
      # The appName must match the agent's Python package directory name (in this case, "capital-agent").
      curl -X POST AGENT_BASE_URL/apps/capital-agent/users/user-123/sessions/session-123
      

      다음 명령어를 사용하여 사용 가능한 앱을 나열할 수 있습니다.

      curl -X GET AGENT_BASE_URL/list-apps
      
    2. 이전 단계의 세션 세부정보를 사용하여 에이전트에 쿼리를 보냅니다.

      curl -X POST AGENT_BASE_URL/run \
      -H "Content-Type: application/json" \
      -d '{
        "appName": "capital-agent",
        "userId": "user-123",
        "sessionId": "session-123",
        "newMessage": {
          "role": "user",
          "parts": [{
            "text": "Hello, agent! What can you do for me?"
          }]
        }
      }'
      

      에이전트로부터 요청을 성공적으로 처리하고 Vertex AI를 통해 Gemini 모델과 상호작용했음을 나타내는 JSON 응답을 받아야 합니다. 대답에는 메시지를 기반으로 에이전트가 생성한 답장이 포함됩니다.

  3. 에이전트의 웹 UI에 액세스(해당하는 경우): 에이전트에 웹 기반 사용자 인터페이스가 포함된 경우 웹브라우저에서 AGENT_BASE_URL로 이동하여 액세스합니다. ADK에는 일반적으로 상호작용 및 디버깅을 위한 기본 웹 UI가 포함됩니다. 예를 들어 LoadBalancer를 통해 에이전트를 노출했고 EXTERNAL-IP34.123.45.67인 경우 브라우저에서 http://34.123.45.67로 이동합니다.

삭제

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

배포된 리소스 삭제

이 가이드에서 만든 리소스에 대해 Google Cloud 계정에 비용이 청구되지 않도록 하려면 다음 명령어를 실행합니다.

gcloud

gcloud container clusters delete CLUSTER_NAME \
    --location=${GOOGLE_CLOUD_LOCATION} \
    --project=$PROJECT_ID

gcloud projects remove-iam-policy-binding $PROJECT_ID \
    --member "serviceAccount:vertex-sa@$PROJECT_ID.iam.gserviceaccount.com" \
    --role "roles/aiplatform.user"

gcloud iam service-accounts delete vertex-sa@$PROJECT_ID.iam.gserviceaccount.com

gcloud artifacts repositories delete adk-repo \
    --location=$GOOGLE_CLOUD_LOCATION \
    --project=$PROJECT_ID

CLUSTER_NAME을 GKE 클러스터 이름으로 바꿉니다.

Terraform

  1. Cloud Shell 터미널에서 tutorials-and-examples/adk/vertex/ 디렉터리로 이동합니다.

    cd tutorials-and-examples/adk/vertex/
    
  2. 이 명령어를 실행하여 Terraform 구성 파일에 정의된 모든 리소스를 삭제합니다.

    cd terraform
    terraform destroy
    

다음 단계

  • 수평형 포드 자동 확장 처리(HPA)를 구성하여 필요에 따라 에이전트의 리소스를 자동으로 조정하는 방법을 알아보세요.
  • Google Cloud에서 실행되는 웹 애플리케이션에 IAP(Identity-Aware Proxy)를 구성하여 에이전트의 UI에 대한 액세스에 중앙 집중식 승인을 제공하는 방법을 알아보세요.
  • Cloud Logging 및 Cloud Monitoring을 사용하여 GKE 클러스터 내에서 에이전트의 성능과 상태에 관한 유용한 정보를 얻는 방법을 알아봅니다.
  • GKE AI Labs에서 GKE를 사용하여 에이전트 AI 이니셔티브를 가속화하는 데 도움이 되는 실험용 샘플을 살펴봅니다.