第7章 heat テンプレートの使用


本章のカスタム設定では、heat テンプレートおよび環境ファイルを使用して、オーバークラウドの特定の機能を定義します。本章では、Red Hat OpenStack Platform に関して、heat テンプレートの構成の基本概要について説明します。テンプレートの目的は、heat が作成するリソースのコレクションであるスタックを定義および作成し、リソースを設定することです。リソースとは、コンピュートリソース、ネットワーク設定、セキュリティーグループ、スケーリングルール、カスタムリソースなどの OpenStack のオブジェクトを指します。

heat テンプレートは、3 つの主要なセクションで構成されます。

パラメーター

パラメーターは、heat に渡される設定です。これらのパラメーターを使用して、デフォルト値およびデフォルト以外の値の両方を定義およびカスタマイズします。テンプレートの parameters セクションで、これらのパラメーターを定義します。

リソース

リソースは、スタックの一部として作成および設定する固有のオブジェクトです。OpenStack には、全コンポーネントに対応するコアリソースのセットが含まれています。テンプレートの resources セクションで、リソースを定義します。

アウトプット

これらは、スタックの作成後に heat から渡される値です。これらの値には、heat API またはクライアントツールのいずれかを使用してアクセスすることができます。テンプレートの output セクションで、これらの値を定義します。

heat がテンプレートを処理する際には、テンプレートのスタックとリソーステンプレートの子スタックセットを作成します。このスタック階層は、テンプレートで定義するメインのスタックに由来します。以下のコマンドを使用して、スタックの階層を表示することができます。

$ heat stack-list --show-nested

7.1. コア heat テンプレート

Red Hat OpenStack Platform には、オーバークラウド用のコア heat テンプレートコレクションが含まれています。このコレクションは、/usr/share/openstack-tripleo-heat-templates ディレクトリーにあります。

このコレクションには、多数の heat テンプレートおよび環境ファイルが含まれます。本セクションでは、デプロイメントをカスタマイズするのに使用できる主要なファイルおよびディレクトリーについて説明します。

overcloud.j2.yaml

このファイルは、オーバークラウド環境の作成に使用するメインのテンプレートファイルです。このファイルでは Jinja2 構文を使用してテンプレートの特定セクションを繰り返し、カスタムロールを作成します。Jinja2 フォーマットは、オーバークラウドのデプロイメントプロセス中に YAML にレンダリングされます。

overcloud-resource-registry-puppet.j2.yaml

このファイルは、オーバークラウド環境の作成に使用するメインの環境ファイルです。このファイルには、オーバークラウドイメージ上の Puppet モジュールの設定セットが含まれます。director により各ノードにオーバークラウドのイメージが書き込まれると、heat はこの環境ファイルに登録されているリソースを使用して各ノードの Puppet 設定を開始します。このファイルでは Jinja2 構文を使用してテンプレートの特定セクションを繰り返し、カスタムロールを作成します。Jinja2 フォーマットは、オーバークラウドのデプロイメントプロセス中に YAML にレンダリングされます。

roles_data.yaml

このファイルにはオーバークラウド内のロールの定義が含まれ、サービスを各ロールにマッピングします。

network_data.yaml

このファイルには、オーバークラウド内のネットワーク、およびそれらのサブネット、割り当てプール、VIP ステータス等の属性の定義が含まれます。デフォルトの network_data.yaml ファイルにはデフォルトのネットワーク (External、Internal Api、Storage、Storage Management、Tenant、Management) のみが含まれます。カスタムの network_data.yaml ファイルを作成し、-n オプションを使用して openstack overcloud deploy コマンドに追加することができます。

plan-environment.yaml

このファイルには、プラン名、使用するメインのテンプレート、オーバークラウドに適用する環境ファイル等、オーバークラウドプランのメタデータの定義が含まれます。

capabilities-map.yaml

このファイルには、オーバークラウドプランの環境ファイルのマッピングが含まれます。director の Web UI で環境ファイルを記述および有効化するには、このファイルを使用します。environments ディレクトリーにカスタム環境ファイルを含めても、これらのファイルを capabilities-map.yaml ファイルに定義しない場合、これらの環境ファイルは Web UI の 全体の設定 ページの Other サブタブに表示されます。

environments

このディレクトリーには、オーバークラウドの作成に使用可能なその他の heat 環境ファイルが含まれます。これらの環境ファイルは、Red Hat OpenStack Platform 環境の追加の機能を有効にします。たとえば、cinder-netapp-config.yaml 環境ファイルを使用して、Block Storage サービス (cinder) のNetApp バックエンドストレージを有効にすることができます。environments ディレクトリーにカスタム環境ファイルを含めても、これらのファイルを capabilities-map.yaml ファイルに定義しない場合、これらの環境ファイルは Web UI の 全体の設定 ページの Other サブタブに表示されます。

network

このディレクトリーには、分離ネットワークおよびポートを作成するのに使用できる heat テンプレートのセットが含まれます。

puppet

このディレクトリーには、puppet テンプレートが含まれます。overcloud-resource-registry-puppet.j2.yaml 環境ファイルは、puppet ディレクトリーのファイルを使用して、各ノードに Puppet の設定が適用されるようにします。

puppet/services

このディレクトリーには、コンポーザブルサービスアーキテクチャー内の全サービス用の heat テンプレートが含まれます。

extraconfig

このディレクトリーには、追加機能を有効にするのに使用できるテンプレートが含まれます。たとえば、extraconfig/pre_deploy/rhel-registration ディレクトリーを使用して、ノードを Red Hat コンテンツ配信ネットワークまたはご自分の Red Hat Satellite サーバーに登録することができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.