구성 미리보기

이 페이지에서는 배포를 만들기 전 구성 파일 미리보기 방법을 설명합니다. 구성에 대해 자세히 알아보려면 구성 개요를 참조하세요.

구성 파일을 작성한 후에는 배포를 만들기 전에 구성 미리보기를 수행할 수 있습니다. 구성 미리보기를 수행하면 리소스를 실제로 인스턴스화하지 않고도 Deployment Manager가 만들어야 하는 리소스를 확인할 수 있습니다. Deployment Manager 서비스는 다음 방법을 통해 구성 미리보기를 수행합니다.

  1. 템플릿을 포함하여 전체 구성을 확장합니다.
  2. 배포 및 '셸' 리소스를 만듭니다.

insert() 요청을 수행할 때 preview 쿼리 매개변수를 사용하면 구성을 미리 볼 수 있습니다.

시작하기 전에

새 구성 미리보기

gcloud 명령줄 도구를 사용하거나 API에 직접 요청을 수행하여 구성을 미리 봅니다.

gcloud

gcloud 명령줄 도구를 사용 중인 경우 --preview 플래그를 지정하여 create 하위 명령어를 사용합니다.

gcloud deployment-manager deployments create example-config --config configuration-file.yaml \
     --preview

개발자가 검토할 수 있도록 해당 상태가 IN_PREVIEW인 리소스 목록이 서버에서 반환됩니다.

The fingerprint of the deployment is ulPDrJON8E5ySHKC5fcukw==
Waiting for create [operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf]...done.
Create operation operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf completed successfully.
NAME                      TYPE                 STATE       ERRORS  INTENT
datadisk-example  compute.v1.disk      IN_PREVIEW  []      CREATE_OR_ACQUIRE
vm-example        compute.v1.instance  IN_PREVIEW  []      CREATE_OR_ACQUIRE

API

API에서 targetname 필드와 preview=true 쿼리 매개변수가 포함된 요청 본문과 함께 insert() 메서드를 사용합니다. target 필드에 구성을 제공합니다.

예를 들어 다음 API 요청은 간단한 템플릿의 미리보기를 수행합니다.

POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments?preview=true

{
 "name": "example-config",
 "target": {
  "config": {
    "content":  "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
   }
  }
}

배포가 미리보기 모드일 때, 다음 세 가지 방법 중 하나로 배포를 진행할 수 있습니다.

여러 미리보기 수행

구성을 변경하고 다른 미리보기를 수행하려면 --preview 플래그를 지정하여 update 명령어를 사용합니다.

gcloud deployment-manager deployments update example-config \
    --config new-config.yaml --preview

API에서 기존 배포로 PUT() 요청을 수행하고 preview=true 쿼리 매개변수를 지정합니다. 요청 본문에는 intent, target, name 필드가 포함되어야 합니다. 예를 들어 다음 API 요청은 간단한 업데이트의 미리보기를 표시합니다.

PUT https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/example-config?preview=true

{
 "target": {
  "config": {
   "content": "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
  }
 },
 "name": "example-config"
}

미리보기 배포 또는 취소

배포 미리보기를 수행한 후에는 업데이트를 수행하고 구성을 커밋하여 배포를 진행할 수 있습니다. 예를 들어 현재 미리보기 모드에서 이름이 example-config인 배포가 있다고 가정해보세요. 다음 명령어를 실행하여 배포를 진행할 수 있습니다.

gcloud deployment-manager deployments update example-config

Deployment Manager는 마지막으로 미리 본 구성을 사용하여 배포를 만듭니다.

또는 구성을 진행하지 않으려면 미리보기를 취소한 후 배포를 삭제할 수도 있습니다.

gcloud deployment-manager deployments cancel-preview example-config

배포가 미리보기 모드일 때는 다른 구성을 진행할 수 없습니다. 예를 들어 vm.yaml이라는 구성을 사용하여 미리보기 모드에 있는 example-config라는 배포가 있다고 가정합니다. 미리보기 프로세스를 건너뛰고 two_vms.yaml이라는 새 구성을 동일한 배포에 배포하려 합니다. example-config는 아직 미리보기 모드에 있지만 새 구성을 배포할 수 없습니다. 미리보기를 취소한 후 새 설정으로 배포를 업데이트합니다.

다음 단계