第5章 オーケストレーション
director は、Heat Orchestration Template (HOT) をオーバークラウドデプロイメントプランのテンプレート形式として使用します。HOT 形式のテンプレートは多くの場合に、YAML 形式で表現されます。テンプレートの目的は、Heat が作成するリソースおよびリソースごとの設定であるスタックを定義および作成することです。リソースとは、コンピュートリソース、ネットワーク設定、セキュリティーグループ、スケーリングルール、カスタムリソースなどの OpenStack のオブジェクトを指します。
本章では、独自のテンプレートファイルを作成できるように HOT 構文を理解するための基本を説明します。
5.1. Heat テンプレートの基礎知識 リンクのコピーリンクがクリップボードにコピーされました!
5.1.1. Heat テンプレートの概要 リンクのコピーリンクがクリップボードにコピーされました!
The structure of a Heat template has three main sections:
The structure of a Heat template has three main sections:
- パラメーター
-
これらは、Heat に渡される設定(スタックのカスタマイズが可能)およびパラメーターのデフォルト値(値を渡さない場合)です。これらがテンプレートの
parameters
セクションで定義されます。 - リソース
-
これらは、スタックの一部として作成/設定する固有のオブジェクトです。OpenStack には全コンポーネントに対応するコアのリソースセットが含まれています。これらがテンプレートの
resources
セクションで定義されます。 - 出力
-
これらは、スタックの作成後に Heat から渡される値です。これらの値には、Heat API またはクライアントツールを使用してアクセスすることができます。これらがテンプレートの
output
セクションで定義されます。
以下に、基本的な Heat テンプレートの例を示します。
このテンプレートは、リソース種別 type : OS::Nova::Server
を使用して、特定のフレーバー、イメージ、キーで my_instance
というインスタンスを作成します。スタックは、My Cirros Instance
の instance_name
の値を返します。
Heat テンプレートは、利用可能な関数や使用する構文のバージョンを定義する heat_template_version
パラメーターも必要とします。詳しい情報は Heat の正式なドキュメント を参照してください。
5.1.2. 環境ファイルの理解 リンクのコピーリンクがクリップボードにコピーされました!
環境ファイルとは、Heat テンプレートをカスタマイズする特別な種類のテンプレートです。このファイルは、3 つの主要な部分で設定されます。
- パラメーター
-
これらは、テンプレートのパラメーターに適用する共通設定です。これらが環境ファイルの
parameters
セクションで定義されます。 - パラメーターのデフォルト
-
これらのパラメーターは、テンプレート内のパラメーターのデフォルト値を変更します。これらが環境ファイルの
parameter_defaults
セクションで定義されています。 - リソースレジストリー
-
このセクションでは、カスタムリソース名を定義し、他の Heat テンプレートにリンクします。これは実質的に、コアリソースコレクションに存在しないカスタムのリソースを作成する方法を提供します。この設定は、環境ファイルの
resource_registry
セクションで定義されます。
基本的な環境ファイルの例を以下に示します。
これにより、OS::Nova::Server::MyServer という新しいリソース種別が
作成されます。myserver.yaml
ファイルは、このリソース種別を実装する Heat テンプレートファイルで、このファイルでの設定が元の設定よりも優先されます。