Show Table of Contents
第5章 Heat テンプレートについての理解
本ガイドのシナリオの一部では、カスタムの Heat テンプレートを使用して、ネットワークの分離やネットワークインターフェースの設定など、オーバークラウドの特定の機能を定義します。本項には、Red Hat Enterprise Linux OpenStack Platform director に関連した Heat テンプレートの構造や形式を理解するための基本的な説明を記載します。
5.1. Heat テンプレート
director は、Heat Orchestration Template (HOT) をオーバークラウドデプロイメントプランのテンプレート形式として使用します。HOT 形式のテンプレートの多くは、YAML 形式で表現されます。テンプレートの目的は、Heat が作成するリソースのコレクションと、リソースごとの設定が含まれる スタック を定義して作成することです。リソースとは、コンピュートリソース、ネットワーク設定、セキュリティーグループ、スケーリングルール、カスタムリソースなどの OpenStack のオブジェクトのことです。
Heat テンプレートは、3 つのセクションから構成されています。
- Parameters: これらは Heat に渡す設定で、スタックや値を指定しないパラメーターのデフォルト値をカスタマイズする方法を提供します。これらの設定は、テンプレートの
parameters
セクションで定義します。 - Resources: これらはスタックの一部として作成/設定する固有のオブジェクトです。OpenStack には全コンポーネントに対応するコアのリソースセットが含まれています。これらの設定は、テンプレートの
resources
セクションで定義されます。 - Output: これらは、スタックの作成後に 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
の値を返します。