이 페이지에서는 배포를 만들기 전 구성 파일 미리보기 방법을 설명합니다. 구성에 대해 자세히 알아보려면 구성 개요를 참조하세요.
구성 파일을 작성한 후에는 배포를 만들기 전에 구성 미리보기를 수행할 수 있습니다. 구성 미리보기를 수행하면 리소스를 실제로 인스턴스화하지 않고도 Deployment Manager가 만들어야 하는 리소스를 확인할 수 있습니다. Deployment Manager 서비스는 다음 방법을 통해 구성 미리보기를 수행합니다.
- 템플릿을 포함하여 전체 구성을 확장합니다.
- 배포 및 '셸' 리소스를 만듭니다.
insert()
요청을 수행할 때 preview
쿼리 매개변수를 사용하면 구성을 미리 볼 수 있습니다.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 'gcloud' 명령줄 도구를 설치합니다.
- 이 가이드의 API 예시를 사용하려면 API 액세스를 설정합니다.
- 기본 구성을 만드는 방법을 확인합니다.
새 구성 미리보기
Google Cloud CLI를 사용하거나 API에 직접 요청을 수행하여 구성을 미리 봅니다.
gcloud
Google Cloud CLI를 사용하는 경우 --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에서 target
및 name
필드와 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
는 아직 미리보기 모드에 있지만 새 구성을 배포할 수 없습니다. 미리보기를 취소한 후 새 설정으로 배포를 업데이트합니다.