このページでは、デプロイを作成する前に構成ファイルをプレビューする方法について説明します。構成の詳細については、構成の概要をご覧ください。
構成ファイルを作成した後で、デプロイの作成前に構成をプレビューできます。構成をプレビューすることで、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
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"
}
}
}
デプロイがプレビュー モードの場合は、次の 3 つの方法のいずれかでデプロイを進めることができます。
- 更新を実行して構成をデプロイします。
- プレビューをキャンセルしてから、デプロイを削除します。
- プレビューを更新します。
複数のプレビューを実行する
構成を変更して別のプレビューを実行する場合は、--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"
}
プレビューのデプロイまたはキャンセル
デプロイをプレビューした後で、デプロイを続行するには、更新を実行して構成を commit します。たとえば、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
がプレビュー モードの間は新しい構成をデプロイできません。プレビューをキャンセルし、新しい構成でデプロイを更新します。