확장 프로그램 정책을 만들어 VM 확장 프로그램 설치

이 문서에서는 Compute Engine 가상 머신(VM) Fleet에 확장 프로그램을 자동으로 설치하고 관리할 수 있는 VM 확장 프로그램 정책을 만드는 방법을 설명합니다. 정책을 정의하면 VM 라벨과 같이 지정한 기준과 일치하는 모든 VM에 특정 확장 프로그램이 설치되고 유지되도록 할 수 있습니다. 프로젝트 수준 또는 조직 및 폴더 수준에서 영역 또는 전역 VM 확장 프로그램 정책을 만들 수 있습니다(프리뷰에서 사용 가능).

시작하기 전에

정책 생성 제한사항

Google Cloud CLI 또는 Compute Engine REST API를 사용해야만 폴더 범위 및 조직 범위 VM 확장 프로그램 정책을 만들 수 있습니다.

정책 우선순위 및 충돌 해결

여러 계층 구조 수준(조직, 폴더 또는 프로젝트)의 여러 정책이 동일한 VM에 적용되는 경우 계층 구조 수준에 따라 우선순위가 결정되지 않습니다. 대신 VM 확장 프로그램 관리자는 정책 우선순위와 업데이트 타임스탬프를 사용하여 충돌을 해결합니다.

동일한 확장 프로그램에 대해 두 정책이 충돌하는 경우 우선순위가 더 높은 정책이 우선 적용됩니다. 우선순위 값의 범위는 0에서 65535까지이며, 숫자가 작을수록 우선순위가 높습니다. 기본 우선순위는 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다. 우선순위가 낮은 정책이 VM에 계속 적용되는 경우 정책을 삭제해도 확장 프로그램이 삭제되지 않습니다.

전역 VM 확장 프로그램 정책을 만들어 VM 확장 프로그램 설치

전역 VM 확장 프로그램 정책을 만들어 출시 계획에 따라 여러 영역의 VM에 확장 프로그램을 설치할 수 있습니다. 프로젝트 수준 또는 폴더나 조직 수준에서 전역 정책을 정의할 수 있습니다(미리보기에서 사용 가능).

VM 확장 프로그램 관리자는 전역 VM 확장 프로그램 정책을 VM에 직접 적용하지 않습니다. 대신 정책이 출시되면 VM 확장 프로그램 관리자는 출시 계획에 따라 각 영역의 해당 영역 정책에 전역 정의를 자동으로 복제합니다. 복제된 정책이 영역에서 사용 가능해지면 VM 확장 프로그램 관리자는 해당 영역의 VM을 정책의 포함 라벨과 비교하여 평가하고 지정된 확장 프로그램을 설치하거나 업데이트합니다. 새 VM을 만들면 VM 확장 프로그램 관리자가 자동으로 VM을 평가하고 구성합니다.

전역 정책 출시 계획

전역 VM 확장 프로그램 정책은 출시 계획을 사용하여 여러 위치에 확장 프로그램 배포를 관리합니다. 사전 정의된 출시 계획 중 하나를 사용하거나 커스텀 출시 계획을 만들 수 있습니다.

사전 정의된 출시 계획

다음 사전 정의된 출시 계획 중 하나를 선택할 수 있습니다.

  • slow_rollout: 5일에 걸쳐 정책을 출시합니다. 느린 출시는 기본 출시 계획입니다.
  • fast_rollout: 정책을 모든 영역에 즉시 출시합니다.

맞춤 출시 계획

rolloutPlans.insert 메서드를 사용하여 커스텀 출시 계획을 만들 수 있습니다. 예를 들어 다음 JSON은 두 영역을 타겟팅하는 test-rollout-plan라는 출시 계획을 정의합니다.

{
  "name": "test-rollout-plan",
  "waves": [
    {
      "selectors": [
        {
          "locationSelector": {
            "includedLocations": [
              "us-central1-a",
              "us-west1-a"
            ]
          }
        }
      ],
      "validation": {
        "type": "time",
        "timeBasedValidationMetadata": {
          "waitDuration": "0s"
        }
      },
      "orchestrationOptions": {
        "maxConcurrentResourcesPerLocation": "10",
        "maxConcurrentLocations": "10"
      }
    }
  ]
}

그런 다음 전역 정책을 만들 때 이 커스텀 출시 계획을 사용할 수 있습니다.

조직의 모든 영역에 VM 확장 프로그램 설치

조직 범위의 전역 확장 프로그램 정책을 만들어 조직의 모든 하위 프로젝트에 있는 모든 영역에서 VM 확장 프로그램을 설치하고 유지보수합니다.

필수 IAM 권한

조직 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 조직 수준 Compute VM 확장 프로그램 정책 관리자(roles/compute.orgVmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 조직 범위 확장 프로그램 정책을 만드는 데 필요한 compute.orgVmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

조직 범위 전역 확장 프로그램 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

조직 범위 전역 VM 확장 프로그램 정책을 만들려면 gcloud preview compute global-vm-extension-policies create 명령어를 --organization 플래그와 함께 사용합니다.

gcloud preview compute global-vm-extension-policies create POLICY_NAME \
  --organization=organizations/ORGANIZATION_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • ORGANIZATION_ID: 조직 범위 정책의 조직 ID입니다. 리소스 형식은 organizations/{organization}/global/vmExtensionPolicies/{name}입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 조직의 모든 하위 프로젝트 및 영역에 있는 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_PLAN: slow_rollout 또는 fast_rollout를 지정합니다. 커스텀 출시 계획을 사용해야 하는 경우 다음 형식을 사용하여 --rollout-predefined-plan 대신 --rollout-custom-plan 플래그를 지정합니다.
    --rollout-custom-plan=organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    다음을 바꿉니다.

    • ORGANIZATION_ID: 출시 계획이 정의된 조직입니다.
    • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다.

    출시 계획 플래그를 지정하지 않으면 VM 확장 프로그램 관리자가 slow_rollout를 사용합니다.

  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

예시: 조직 범위 전역 정책 만들기

다음 명령어는 프로덕션 프런트엔드 워크로드(env=prod,workload=frontend)에 대해 조직 수준(organizations/123456789)에서 prod-frontend-policy라는 우선순위가 높은 전역 정책을 만들어 느린 출시 계획으로 ops-agent 확장 프로그램의 특정 버전을 고정합니다.

gcloud preview compute global-vm-extension-policies create prod-frontend-policy \
  --organization=organizations/123456789 \
  --description="Standard monitoring policy for production frontend VMs" \
  --extensions=ops-agent \
  --version=ops-agent=2.58.0 \
  --config=ops-agent="some-monitoring-config" \
  --inclusion-labels="env=prod,workload=frontend" \
  --priority=100 \
  --rollout-predefined-plan=slow_rollout

REST

조직 범위 전역 VM 확장 프로그램 정책을 만들려면 organizationGlobalVmExtensionPolicies.insert 메서드에 POST 요청을 보냅니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직 ID입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 조직의 모든 하위 프로젝트 및 영역에 있는 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

  • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다. 사전 정의된 출시 계획을 사용하려면 name 필드를 predefinedRolloutPlan로 바꾸고 다음 값 중 하나를 지정합니다.
    • SLOW_ROLLOUT: 5일에 걸쳐 정책을 출시합니다. 이 사전 정의된 계획은 계획을 지정하지 않은 경우 기본 출시 계획입니다.
    • FAST_ROLLOUT: 정책을 모든 영역에 즉시 출시합니다.

예시: 조직 범위 전역 정책 만들기

다음 예시에서는 우선순위가 100이고 사전 정의된 출시 계획이 SLOW_ROLLOUT인 env=prod 라벨이 있는 VM에 123456789 조직의 ops-agent 확장 프로그램을 설치하는 org-global-extension-policy이라는 전역 정책을 만듭니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/global/vmExtensionPolicies

{
"name": "org-global-extension-policy",
"description": "Standard monitoring policy for organization VMs",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "100",
"rolloutOperation": {
  "rolloutInput": {
    "predefinedRolloutPlan": "SLOW_ROLLOUT"
  }
}
}

폴더의 모든 영역에 VM 확장 프로그램 설치

폴더 범위 전역 확장 프로그램 정책을 만들어 폴더의 모든 하위 프로젝트에 있는 모든 영역에 VM 확장 프로그램을 설치하고 유지보수합니다.

필수 IAM 권한

폴더 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 폴더에 대한 폴더 수준 Compute VM 확장 프로그램 정책 관리자(roles/compute.folderVmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 폴더 범위 확장 프로그램 정책을 만드는 데 필요한 compute.folderVmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

폴더 범위 전역 확장 프로그램 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

폴더 범위 전역 VM 확장 프로그램 정책을 만들려면 --folder 플래그와 함께 gcloud preview compute global-vm-extension-policies create 명령어를 사용합니다.

gcloud preview compute global-vm-extension-policies create POLICY_NAME \
  --folder=folders/FOLDER_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • FOLDER_ID: 폴더 범위 정책의 폴더 ID입니다. 리소스 형식은 folders/{folder}/global/vmExtensionPolicies/{name}입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 폴더 내의 모든 하위 프로젝트 및 영역에 있는 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_PLAN: slow_rollout 또는 fast_rollout를 지정합니다. 커스텀 출시 계획을 사용해야 하는 경우 다음 형식을 사용하여 --rollout-predefined-plan 대신 --rollout-custom-plan 플래그를 지정합니다.
    --rollout-custom-plan=folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    다음을 바꿉니다.

    • FOLDER_ID: 출시 계획이 정의된 폴더입니다.
    • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다.

    출시 계획 플래그를 지정하지 않으면 VM 확장 프로그램 관리자가 slow_rollout를 사용합니다.

  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

예시: 폴더 범위 전역 정책 만들기

다음 명령어는 느린 출시 계획을 사용하여 라벨이 env=prod인 VM에 ops-agent 확장 프로그램을 설치하는 폴더 수준(folders/123456)에서 folder-global-extension-policy이라는 전역 정책을 만듭니다.

gcloud preview compute global-vm-extension-policies create folder-global-extension-policy \
  --folder=folders/123456 \
  --description="Standard monitoring policy for folder VMs" \
  --extensions=ops-agent \
  --version=ops-agent=2.58.0 \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --inclusion-labels="env=prod" \
  --priority=100 \
  --rollout-predefined-plan=slow_rollout

REST

폴더 범위 전역 VM 확장 프로그램 정책을 만들려면 folderGlobalVmExtensionPolicies.insert 메서드에 POST 요청을 전송합니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

다음을 바꿉니다.

  • FOLDER_ID: 폴더 ID입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 폴더 내의 모든 하위 프로젝트 및 영역에 있는 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

  • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다. 사전 정의된 출시 계획을 사용하려면 name 필드를 predefinedRolloutPlan로 바꾸고 다음 값 중 하나를 지정합니다.
    • SLOW_ROLLOUT: 5일에 걸쳐 정책을 출시합니다. 이 사전 정의된 계획은 계획을 지정하지 않은 경우 기본 출시 계획입니다.
    • FAST_ROLLOUT: 정책을 모든 영역에 즉시 출시합니다.

예시: 폴더 범위 전역 정책 만들기

다음 예시에서는 우선순위가 500이고 사전 정의된 출시 계획이 SLOW_ROLLOUT인 env=prod 라벨이 지정된 VM에 123456 폴더의 ops-agent 확장 프로그램을 설치하는 folder-global-extension-policy이라는 전역 정책을 만듭니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/global/vmExtensionPolicies

{
"name": "folder-global-extension-policy",
"description": "Test extension policy for Ops Agent at folder level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "500",
"rolloutOperation": {
  "rolloutInput": {
    "predefinedRolloutPlan": "SLOW_ROLLOUT"
  }
}
}

프로젝트의 모든 영역에 VM 확장 프로그램 설치

프로젝트 범위의 전역 확장 프로그램 정책을 만들어 프로젝트의 모든 영역에서 VM 확장 프로그램을 설치하고 유지보수합니다.

필수 IAM 권한

프로젝트 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute VM 확장 프로그램 정책 관리자(roles/compute.vmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 프로젝트 범위 확장 프로그램 정책을 만드는 데 필요한 compute.vmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

프로젝트 범위 전역 확장 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

Google Cloud 콘솔에서 프로젝트 범위 전역 VM 확장 정책을 만들려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 VM 확장 프로그램 정책 페이지로 이동합니다.

    VM 확장 프로그램 정책으로 이동

  2. 확장 프로그램 정책 만들기를 클릭합니다.
  3. 이름 필드에 정책 이름을 입력합니다.
  4. 선택사항: 설명 필드에 정책에 대한 설명을 입력합니다.
  5. 우선순위 필드에서 정책 간 충돌을 해결하기 위한 우선순위 번호를 지정합니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다.
  6. 범위 섹션에서 전역 출시를 선택합니다.
  7. 확장 프로그램 관리 섹션에서 확장 프로그램 추가를 클릭하고 대상 VM에 설치하려는 각 확장 프로그램에 대해 다음을 수행합니다.
    1. 확장 프로그램 목록에서 확장 프로그램을 선택합니다. 자세한 내용은 지원되는 확장 프로그램을 참고하세요.
    2. 버전 목록에서 확장 프로그램의 버전 번호를 지정합니다. 최신 버전을 선택하려면 비워 둡니다.
      • 운영 에이전트의 경우 버전 2.58.0 이상을 지정할 수 있습니다.
      • SAP용 확장 프로그램 및 Compute 워크로드용 확장 프로그램의 경우 최신 버전을 선택하려면 필드를 비워 둡니다.
    3. 선택사항: 구성 파일 콘텐츠 필드에 확장 프로그램의 구성 매개변수를 입력합니다.
  8. 출시 계획 필드에서 다음 옵션 중 하나를 선택합니다.
    • 느린 출시: 일정 기간 동안 VM Fleet 전반에 확장 프로그램을 점진적으로 설치합니다. 이 출시 계획은 기본 옵션입니다.
    • 빠른 출시: 모든 영역 및 리전의 모든 타겟 VM에 확장 프로그램을 즉시 설치합니다.

    출시 계획에 대한 자세한 내용은 출시 계획을 참조하세요.

  9. 대상 VM 인스턴스 섹션에서 정책의 VM을 선택합니다. 특정 라벨이 있는 VM을 선택하려면 라벨 추가를 클릭하고 키-값 쌍을 추가합니다.
  10. 만들기를 클릭합니다.

gcloud

프로젝트 범위의 전역 VM 확장 정책을 만들려면 gcloud compute global-vm-extension-policies create 명령어를 사용합니다.

gcloud compute global-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • PROJECT_ID: 프로젝트 범위 정책의 프로젝트 ID입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 모든 영역에서 프로젝트의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_PLAN: slow_rollout 또는 fast_rollout를 지정합니다. 커스텀 출시 계획을 사용해야 하는 경우 다음 형식을 사용하여 --rollout-predefined-plan 대신 --rollout-custom-plan 플래그를 지정합니다.
    --rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    다음을 바꿉니다.

    • PROJECT_NUMBER: 출시 계획이 정의된 프로젝트입니다.
    • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다.

    출시 계획 플래그를 지정하지 않으면 VM 확장 프로그램 관리자가 slow_rollout를 사용합니다.

  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

예시: 프로젝트 범위 전역 정책 만들기

다음 명령어는 test-project 프로젝트에 ops-agent 확장 프로그램을 설치하는 global-test-extension-policy라는 정책을 만듭니다. --config-from-file 플래그는 운영 에이전트의 YAML 구성이 포함된 로컬 파일의 경로를 지정하고 --rollout-predefined-plan는 slow_rollout 계획을 지정합니다.

gcloud compute global-vm-extension-policies create global-test-extension-policy \
  --project=test-project \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --rollout-predefined-plan=slow_rollout

예시: 커스텀 출시 계획으로 프로젝트 범위 전역 정책 만들기

다음 명령어는 라벨이 env=prod인 VM에서 test-project 프로젝트의 ops-agent 확장 프로그램을 설치하는 global-test-extension-policy-2라는 정책을 만듭니다. 정책 우선순위는 500로 설정되고 --config-from-file 플래그는 운영 에이전트의 YAML 구성이 포함된 로컬 파일의 경로를 지정합니다. --rollout-custom-plan 플래그는 커스텀 출시 계획을 지정합니다.

gcloud compute global-vm-extension-policies create global-test-extension-policy-2 \
  --project=test-project \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod \
  --rollout-custom-plan=projects/12345678/locations/global/rolloutPlans/test-rollout-plan

REST

프로젝트 범위 전역 VM 확장 프로그램 정책을 만들려면 globalVmExtensionPolicies.insert 메서드에 POST 요청을 보냅니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 모든 영역에서 프로젝트의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.
  • ROLLOUT_CONFLICT_BEHAVIOR: VM 확장 프로그램 관리자가 영역 정책과 전역 정책 간의 충돌을 감지할 때의 동작을 지정합니다. 다음 충돌 동작 중 하나를 지정할 수 있습니다.
    • ""(빈 문자열): 전역 정책이 이름이 동일한 충돌하는 영역 정책을 덮어쓰지 않습니다. 이 충돌 동작은 기본값입니다.
    • overwrite: 전역 정책이 이름이 동일한 영역 정책을 덮어쓴 다음 전역 정책이 영역의 정책 출시를 관리합니다.

    자세한 내용은 --rollout-conflict-behavior 플래그를 참조하세요.

  • PROJECT_NUMBER: 커스텀 출시 계획이 정의된 프로젝트입니다.
  • ROLLOUT_PLAN_NAME: 정의한 커스텀 출시 계획의 이름입니다. 사전 정의된 출시 계획을 사용하려면 name 필드를 predefinedRolloutPlan로 바꾸고 다음 값 중 하나를 지정합니다.
    • SLOW_ROLLOUT: 5일에 걸쳐 정책을 출시합니다. 이 사전 정의된 계획은 계획을 지정하지 않은 경우 기본 출시 계획입니다.
    • FAST_ROLLOUT: 정책을 모든 영역에 즉시 출시합니다.

예시: 프로젝트 범위 전역 정책 만들기

다음 예시에서는 라벨이 env=prod인 VM에 12345678 프로젝트의 ops-agent 확장 프로그램을 설치하는 global-test-extension-policy이라는 정책을 만듭니다. 정책 우선순위는 500로 설정되고 출시 계획 test-rollout-plan를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/12345678/global/vmExtensionPolicies

{
"name": "global-test-extension-policy",
"description": "Test extension policy for Ops Agent",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "500",
"rolloutOperation": {
  "rolloutInput": {
    "name": "projects/12345678/locations/global/rolloutPlans/test-rollout-plan"
  }
}
}

영역 VM 확장 프로그램 정책을 만들어 VM 확장 프로그램 설치

영역 VM 확장 프로그램 정책을 만들어 설치할 확장 프로그램과 특정 영역의 VM을 정의할 수 있습니다. 프로젝트 수준 또는 폴더나 조직 수준에서 영역 정책을 정의할 수 있습니다(프리뷰에서 사용 가능).

조직 전체의 영역에 VM 확장 프로그램 설치

조직 범위의 영역 확장 프로그램 정책을 만들어 조직의 모든 하위 프로젝트에서 특정 영역의 VM 확장 프로그램을 설치하고 유지보수합니다.

필수 IAM 권한

조직 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 조직 수준 Compute VM 확장 프로그램 정책 관리자(roles/compute.orgVmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 조직 범위 확장 프로그램 정책을 만드는 데 필요한 compute.orgVmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

조직 범위 영역 확장 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

조직 범위 영역 VM 확장 프로그램 정책을 만들고 특정 영역의 VM에 정책을 출시하려면 gcloud preview compute zone-vm-extension-policies create 명령어를 --organization 플래그와 함께 사용합니다.

gcloud preview compute zone-vm-extension-policies create POLICY_NAME \
  --organization=organizations/ORGANIZATION_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • ORGANIZATION_ID: 조직 범위 정책의 조직 ID입니다. 리소스 형식은 organizations/{organization}/zones/{zone}/vmExtensionPolicies/{name}입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 조직의 모든 하위 프로젝트에서 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

지정된 이름의 정책이 영역에 이미 있으면 명령어가 실패합니다.

예시: 조직 범위 영역 정책 만들기

다음 명령어는 env=prod 라벨이 있는 VM에서 organizations/123456789 조직의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 org-test-extension-policy이라는 영역 정책을 만듭니다.

gcloud preview compute zone-vm-extension-policies create org-test-extension-policy \
  --organization=organizations/123456789 \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=100 \
  --inclusion-labels=env=prod

REST

조직 범위 영역 VM 확장 정책을 만들려면 organizationZoneVmExtensionPolicies.insert 메서드에 POST 요청을 보냅니다. 이 메서드는 조직 전체의 특정 영역에서 설치할 확장 프로그램과 VM을 정의합니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직 ID입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 조직의 모든 하위 프로젝트에서 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

예시: 조직 범위 영역 정책 만들기

다음 예시에서는 123456789 조직의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 org-test-extension-policy라는 정책을 만듭니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/zones/us-central1-f/vmExtensionPolicies

{
"name": "org-test-extension-policy",
"description": "Test extension policy for Ops Agent at organization level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "100"
}

폴더 전체의 영역에 VM 확장 프로그램 설치

폴더의 모든 하위 프로젝트에서 특정 영역의 VM 확장 프로그램을 설치하고 유지보수하는 폴더 범위 영역 확장 프로그램 정책을 만듭니다.

필수 IAM 권한

폴더 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 폴더에 대한 폴더 수준 Compute VM 확장 프로그램 정책 관리자(roles/compute.folderVmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 폴더 범위 확장 프로그램 정책을 만드는 데 필요한 compute.folderVmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

폴더 범위 영역 확장 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

폴더 범위 영역 VM 확장 프로그램 정책을 만들고 특정 영역의 VM에 정책을 출시하려면 gcloud preview compute zone-vm-extension-policies create 명령어를 --folder 플래그와 함께 사용합니다.

gcloud preview compute zone-vm-extension-policies create POLICY_NAME \
  --folder=folders/FOLDER_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • FOLDER_ID: 폴더 범위 정책의 폴더 ID입니다. 리소스 형식은 folders/{folder}/zones/{zone}/vmExtensionPolicies/{name}입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 폴더 내의 모든 하위 프로젝트에서 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

지정된 이름의 정책이 영역에 이미 있으면 명령어가 실패합니다.

예시: 폴더 범위 영역 정책 만들기

다음 명령어는 라벨이 env=prod인 VM의 폴더 folders/123456에 대해 영역 us-central1-f에 ops-agent 확장 프로그램을 설치하는 folder-test-extension-policy이라는 영역 정책을 만듭니다.

gcloud preview compute zone-vm-extension-policies create folder-test-extension-policy \
  --folder=folders/123456 \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod

REST

폴더 범위 영역 VM 확장 프로그램 정책을 만들려면 folderZoneVmExtensionPolicies.insert 메서드에 POST 요청을 전송합니다. 이 메서드는 폴더 전체의 특정 영역에서 설치할 확장 프로그램과 VM을 정의합니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

다음을 바꿉니다.

  • FOLDER_ID: 폴더 ID입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 폴더 내의 모든 하위 프로젝트에서 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

예시: 폴더 범위 영역 정책 만들기

다음 예시에서는 123456 폴더의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 folder-test-extension-policy이라는 정책을 만듭니다.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/zones/us-central1-f/vmExtensionPolicies

{
"name": "folder-test-extension-policy",
"description": "Test extension policy for Ops Agent at folder level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "test"
       }
    }
  }
],
"priority": "500"
}

프로젝트의 영역에 VM 확장 프로그램 설치

프로젝트 범위 영역 확장 프로그램 정책을 만들어 프로젝트의 특정 영역에 VM 확장 프로그램을 설치하고 유지보수합니다.

필수 IAM 권한

프로젝트 범위 확장 프로그램 정책을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute VM 확장 프로그램 정책 관리자(roles/compute.vmExtensionPolicyAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 프로젝트 범위 확장 프로그램 정책을 만드는 데 필요한 compute.vmExtensionPolicies.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

프로젝트 범위 영역 확장 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

Google Cloud 콘솔에서 프로젝트 범위 영역 VM 확장 정책을 만들려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 VM 확장 프로그램 정책 페이지로 이동합니다.

    VM 확장 프로그램 정책으로 이동

  2. 확장 프로그램 정책 만들기를 클릭합니다.
  3. 이름 필드에 정책 이름을 입력합니다.
  4. 선택사항: 설명 필드에 정책에 대한 설명을 입력합니다.
  5. 우선순위 필드에서 정책 간 충돌을 해결하기 위한 우선순위 번호를 지정합니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다.
  6. 범위 섹션에서 영역 출시를 선택합니다.
  7. 리전 및 영역 목록에서 VM이 있는 리전과 영역을 선택합니다. VM 확장 프로그램 관리자가 선택한 리전 및 영역의 VM에 정책을 적용합니다.
  8. 확장 프로그램 관리 섹션에서 확장 프로그램 추가를 클릭하고 대상 VM에 설치하려는 각 확장 프로그램에 대해 다음을 수행합니다.
    1. 확장 프로그램 목록에서 확장 프로그램을 선택합니다. 자세한 내용은 지원되는 확장 프로그램을 참고하세요.
    2. 버전 목록에서 확장 프로그램의 버전 번호를 지정합니다. 최신 버전을 선택하려면 비워 둡니다.
      • 운영 에이전트의 경우 버전 2.58.0 이상을 지정할 수 있습니다.
      • SAP용 확장 프로그램 및 Compute 워크로드용 확장 프로그램의 경우 최신 버전을 선택하려면 필드를 비워 둡니다.
    3. 선택사항: 구성 파일 콘텐츠 필드에 확장 프로그램의 구성 매개변수를 입력합니다.
  9. 대상 VM 인스턴스 섹션에서 정책의 VM을 선택합니다. 특정 라벨이 있는 VM을 선택하려면 라벨 추가를 클릭하고 키-값 쌍을 추가합니다.
  10. 만들기를 클릭합니다.

gcloud

프로젝트 범위 영역 VM 확장 프로그램 정책을 만들고 특정 영역의 VM에 정책을 출시하려면 gcloud compute zone-vm-extension-policies create 명령어를 사용합니다.

gcloud compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

다음을 바꿉니다.

  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • PROJECT_ID: 프로젝트 범위 정책의 프로젝트 ID입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1,EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 쉼표로 구분된 목록입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: 쉼표로 구분된 키-값 쌍 목록으로, 키는 확장 프로그램 이름이고 값은 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: 쉼표로 구분된 키-값 쌍 목록입니다. 여기서 키는 확장 프로그램 이름이고 값은 해당 확장 프로그램의 구성 파일 경로입니다. 이 파일은 확장 프로그램을 설치하는 VM이 아닌 gcloud 명령어를 실행하는 VM에 있습니다.

    또는 구성을 인라인 문자열로 제공하려면 --config-from-file 대신 --config 플래그를 사용합니다(예: EXTENSION_NAME_1="CONFIG_1"). --config-from-file 또는 --config를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.

  • KEY_1=VALUE_1: 선택기의 포함 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. --inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). 이 플래그를 생략하면 정책은 프로젝트 내 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

지정된 이름의 정책이 영역에 이미 있으면 명령어가 실패합니다.

예시: 프로젝트 범위 영역 정책 만들기

다음 명령어는 test-project 프로젝트의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 test-extension-policy라는 정책을 만듭니다. --config-from-file 플래그는 운영 에이전트의 YAML 구성이 포함된 로컬 파일의 경로를 지정합니다.

gcloud compute zone-vm-extension-policies create test-extension-policy \
  --project=test-project \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml"

예시: 포함 라벨 및 우선순위가 있는 프로젝트 범위 영역 정책 만들기

다음 명령어는 env=prod 라벨이 있는 VM에서 test-project 프로젝트의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 test-extension-policy-2라는 정책을 만듭니다. 정책 우선순위는 500로 설정되고 --config-from-file 플래그는 운영 에이전트의 YAML 구성이 포함된 로컬 파일의 경로를 지정합니다.

gcloud compute zone-vm-extension-policies create test-extension-policy-2 \
  --project=test-project \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod

REST

프로젝트 범위 영역 VM 확장 프로그램 정책을 만들려면 zoneVmExtensionPolicies.insert 메서드에 POST 요청을 보냅니다. 이 메서드는 설치할 확장 프로그램과 특정 영역의 VM을 정의합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: 이 정책이 적용되는 영역입니다.
  • POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.
  • DESCRIPTION: 정책에 대한 설명입니다(선택사항).
  • EXTENSION_NAME_1, EXTENSION_NAME_2: 정책에 추가할 확장 프로그램의 이름입니다. 확장 프로그램을 하나 이상 지정해야 합니다. 지원되는 다음 확장 프로그램 중 하나를 지정할 수 있습니다.
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: 인라인 문자열로 제공되는 확장 프로그램 구성입니다.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: 확장 프로그램 버전입니다. 확장 프로그램 버전을 지정하지 않으면 VM 확장 프로그램 관리자가 사용 가능한 최신 버전을 사용하고 새 버전이 제공되면 자동으로 업그레이드합니다.
  • KEY_1: VALUE_1: 선택기의 포함 라벨을 정의하는 키-값 쌍입니다. VM은 타겟팅할 선택기에 지정된 모든 라벨을 포함해야 합니다. 여러 instanceSelectors를 지정하면 정책은 제공된 선택기 중 하나와 일치하는 VM을 타겟팅합니다(논리적 OR). instanceSelectors를 생략하면 정책은 프로젝트 내 지정된 영역의 모든 VM을 타겟팅합니다.
  • PRIORITY: 정책의 우선순위를 정의하는 0에서 65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다. 여러 정책의 우선순위가 동일한 경우 VM 확장 프로그램 관리자는 가장 최근에 업데이트된 정책을 VM에 적용합니다.

예시: 프로젝트 범위 영역 정책 만들기

다음 예시에서는 my-project의 us-central1-f 영역에 ops-agent 확장 프로그램을 설치하는 test-extension-policy라는 정책을 만듭니다.

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/vmExtensionPolicies

{
"name": "test-extension-policy",
"description": "Test extension policy for Ops Agent",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "test"
       }
    }
  }
],
"priority": "500"
}

다음 단계