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

이 문서에서는 Compute Engine 가상 머신 (VM)의 전체에서 확장 프로그램을 자동으로 설치하고 관리할 수 있는 VM 확장 프로그램 정책을 만드는 방법을 설명합니다. 정책을 정의하면 VM 라벨과 같이 지정한 기준과 일치하는 모든 VM에 특정 확장 프로그램이 설치되고 유지관리되도록 할 수 있습니다.

시작하기 전에

필요한 IAM 역할

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

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

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

Compute Engine의 IAM 역할 및 권한에 대한 자세한 내용은 Compute Engine 역할 및 권한을 참고하세요.

VM 확장 프로그램 정책 만들기

다음 방법 중 하나를 사용하여 VM 확장 프로그램 정책을 만듭니다. 이 정책은 설치할 확장 프로그램과 설치할 VM을 정의합니다.

콘솔

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

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

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

gcloud

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

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
    --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 확장 프로그램 정책의 이름입니다.
  • 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을 타겟팅합니다 (논리합). 이 플래그를 생략하면 정책이 지정된 영역의 모든 VM을 타겟팅합니다.

  • PRIORITY: 정책의 우선순위를 정의하는 0~65535 사이의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은 1000입니다.

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

예시 1

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

gcloud beta 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"

예시 2

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

 gcloud beta 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

다음 단계