Orchestration サービスは、複数から構成されたクラウドアプリケーションを統合するために使用できるサービスです。このサービスは、CloudFormation 互換の Query API 経由の Amazon Web Services (AWS) CloudFormation テンプレート形式、REST API 経由のネイティブ OpenStack Heat Orchestration Template (HOT) 形式の使用をサポートします。
これらの柔軟なテンプレート言語により、アプリケーション開発者は、インフラストラクチャ、サービス、アプリケーションの配備を記述し、自動化できます。テンプレートは、インスタンス、Floating IP アドレス、ボリューム、セキュリティーグループ、ユーザーなどの、ほとんどの OpenStack リソースを作成できます。リソースが作成されると、スタックとして参照されます。
テンプレート言語は、Heat developer ドキュメント の Template Guide にあります。
以下のコマンドを実行して、サンプルテンプレートファイル からスタックまたはテンプレートを作成します。
$ openstack stack create --template server_console.yaml \
--parameter "image=cirros" MYSTACK
指定する --parameters
の値は、テンプレートで定義したパラメーターに依存します。ウェブサイトがテンプレートファイルを公開している場合、--template
パラメーターで URL を指定することもできます。
このコマンドは以下の出力を返します。
+---------------------+----------------------------------------------------------------+
| Field | Value |
+---------------------+----------------------------------------------------------------+
| id | 70b9feca-8f99-418e-b2f1-cc38d61b3ffb |
| stack_name | MYSTACK |
| description | The heat template is used to demo the 'console_urls' attribute |
| | of OS::Nova::Server. |
| | |
| creation_time | 2016-06-08T09:54:15 |
| updated_time | None |
| stack_status | CREATE_IN_PROGRESS |
| stack_status_reason | |
+---------------------+----------------------------------------------------------------+
openstack stack create コマンドで --dry-run
オプションを使うことで、スタックを作成せずにテンプレートファイルを検証できます。
検証に失敗した場合、応答がエラーメッセージを返します。
特定のスタックの状態と履歴を調査するために、いろいろなコマンドを実行できます。
どのスタックが現在のユーザーから参照できるかを確認するために、以下のコマンドを実行します。
$ openstack stack list
+--------------------------------------+------------+-----------------+---------------------+--------------+
| ID | Stack Name | Stack Status | Creation Time | Updated Time |
+--------------------------------------+------------+-----------------+---------------------+--------------+
| 70b9feca-8f99-418e-b2f1-cc38d61b3ffb | MYSTACK | CREATE_COMPLETE | 2016-06-08T09:54:15 | None |
+--------------------------------------+------------+-----------------+---------------------+--------------+
スタックの詳細を表示するために、以下のコマンドを実行します。
$ openstack stack show MYSTACK
スタックはリソースの集合から構成されます。リソースとその状態を一覧表示するために、以下のコマンドを実行します。
$ openstack stack resource list MYSTACK
+---------------+--------------------------------------+------------------+-----------------+---------------------+
| resource_name | physical_resource_id | resource_type | resource_status | updated_time |
+---------------+--------------------------------------+------------------+-----------------+---------------------+
| server | 1b3a7c13-42be-4999-a2a1-8fbefd00062b | OS::Nova::Server | CREATE_COMPLETE | 2016-06-08T09:54:15 |
+---------------+--------------------------------------+------------------+-----------------+---------------------+
スタックにある特定のリソースの詳細を表示するために、以下のコマンドを実行します。
$ openstack stack resource show MYSTACK server
いくつかのリソースはリソースのライフサイクルを通して変更できるメタデータと関連づけられています。以下のコマンドを実行して、メタデータを表示します。
$ openstack stack resource metadata MYSTACK server
一連のイベントはスタックのライフサイクルを通して生成されます。ライフサイクルイベントを表示するために、以下のコマンドを実行します。
$ openstack stack event list MYSTACK
2016-06-08 09:54:15 [MYSTACK]: CREATE_IN_PROGRESS Stack CREATE started
2016-06-08 09:54:15 [server]: CREATE_IN_PROGRESS state changed
2016-06-08 09:54:41 [server]: CREATE_COMPLETE state changed
2016-06-08 09:54:41 [MYSTACK]: CREATE_COMPLETE Stack CREATE completed successfully
特定のイベントの詳細を表示するために、以下のコマンドを実行します。
$ openstack stack event show MYSTACK server EVENT
修正したテンプレートファイルから既存のスタックを更新する場合、以下のようなコマンドを実行します。
$ openstack stack update --template server_console.yaml \
--parameter "image=ubuntu" MYSTACK
+---------------------+----------------------------------------------------------------+
| Field | Value |
+---------------------+----------------------------------------------------------------+
| id | 267a459a-a8cd-4d3e-b5a1-8c08e945764f |
| stack_name | mystack |
| description | The heat template is used to demo the 'console_urls' attribute |
| | of OS::Nova::Server. |
| | |
| creation_time | 2016-06-08T09:54:15 |
| updated_time | 2016-06-08T10:41:18 |
| stack_status | UPDATE_IN_PROGRESS |
| stack_status_reason | Stack UPDATE started |
+---------------------+----------------------------------------------------------------+
いくつかのリソースはすぐに更新され、他のものは新しいリソースで置き換えられます。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.