第2章 Heat テンプレートの概要
本ガイドのカスタム設定では、Heat テンプレートと環境ファイルを使用して、オーバークラウドの特定の機能を定義します。本項には、Red Hat OpenStack Platform director に関連した Heat テンプレートの構造や形式を理解するための基本的な説明を記載します。
2.1. Heat テンプレート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) director は、Heat Orchestration Template (HOT) をオーバークラウドデプロイメントプランのテンプレート形式として使用します。HOT 形式のテンプレートは、通常 YAML 形式で表現されます。テンプレートの目的は、Heat が作成するリソースコレクションである スタック を定義および作成し、リソースを設定することです。リソースとは、コンピュートリソース、ネットワーク設定、セキュリティーグループ、スケーリングルール、カスタムリソースなどの RHOSP のオブジェクトを指します。
RHOSP が heat テンプレートファイルをカスタムテンプレートリソースとして使用するには、ファイルの拡張子を .yaml または .template のいずれかにする必要があります。
Heat テンプレートは、3 つの主要なセクションで設定されます。
- パラメーター
-
これらは、スタックをカスタマイズするために heat に渡される設定です。heat パラメーターを使用して、デフォルト値をカスタマイズすることもできます。これらの設定がテンプレートの
parametersセクションで定義されます。 - リソース
-
これらは、スタックの一部として作成/設定する固有のオブジェクトです。Red Hat OpenStack Platform (RHOSP) には、全コンポーネントに対応するコアリソースのセットが含まれています。これらがテンプレートの
resourcesセクションで定義されます。 - 出力
-
これらは、スタックの作成後に heat から渡される値です。これらの値には、heat API またはクライアントツールを使用してアクセスすることができます。これらがテンプレートの
outputセクションで定義されます。
以下に、基本的な heat テンプレートの例を示します。
heat_template_version: 2013-05-23
description: > A very basic Heat template.
parameters:
key_name:
type: string
default: lars
description: Name of an existing key pair to use for the instance
flavor:
type: string
description: Instance type for the instance to be created
default: m1.small
image:
type: string
default: cirros
description: ID or name of the image to use for the instance
resources:
my_instance:
type: OS::Nova::Server
properties:
name: My Cirros Instance
image: { get_param: image }
flavor: { get_param: flavor }
key_name: { get_param: key_name }
output:
instance_name:
description: Get the instance's name
value: { get_attr: [ my_instance, name ] }
このテンプレートは、リソース種別 type: OS::Nova::Server を使用して、特定のフレーバー、イメージ、キーで my_instance というインスタンスを作成します。このスタックは、My Cirros Instance という instance_name の値を返すことができます。
Heat がテンプレートを処理する際には、テンプレートのスタックとリソーステンプレートの子スタックセットを作成します。これにより、テンプレートで定義したメインのスタックに基づいたスタックの階層が作成されます。以下のコマンドを使用して、スタック階層を表示することができます。
$ openstack stack list --nested