Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
6.2. コンポーザブルサービスアーキテクチャーの考察
コアの Heat テンプレートコレクションには、puppet/services サブディレクトリーに設定可能なサービステンプレートのコレクションが含まれています。これらのサービスは、次のコマンドで表示できます。
$ ls /usr/share/openstack-tripleo-heat-templates/puppet/services
各サービステンプレートには、その目的を識別する説明が含まれています。たとえば、keystone.yaml サービステンプレートには、次の説明が含まれています。
description: > OpenStack Identity (`keystone`) service configured with Puppet
これらのサービステンプレートは、Red Hat OpenStack Platform デプロイメント固有のリソースとして登録されます。これは、overcloud-resource-registry-puppet.j2.yaml ファイルで定義されている一意な Heat リソース名前空間を使用して、各リソースを呼び出すことができることを意味します。サービスはすべて、リソース種別に OS::TripleO::Services 名前空間を使用します。たとえば、keystone.yaml サービステンプレートは OS::TripleO::Services::Keystone リソースタイプに登録されます。
grep "OS::TripleO::Services::Keystone" /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml OS::TripleO::Services::Keystone: puppet/services/keystone.yaml
overcloud.j2.yaml Heat テンプレートには、roles_data.yaml ファイル内の各カスタムロールのサービス一覧を定義するための Jinja2-based コードのセクションが含まれています。
{{role.name}}Services:
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the {{role.name}} role.
type: comma_delimited_list
default: {{role.ServicesDefault|default([])}}
デフォルトのロールの場合は、これにより次のサービス一覧パラメーターが作成されます: ControllerServices、ComputeServices、BlockStorageServices、ObjectStorageServices、CephStorageServices
roles_data.yaml ファイル内の各カスタムロールのデフォルトのサービスを定義します。たとえば、デフォルトの Controller ロールには、以下の内容が含まれます。
- name: Controller
CountDefault: 1
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephMon
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephRgw
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Core
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Keystone
- OS::TripleO::Services::GlanceApi
- OS::TripleO::Services::GlanceRegistry
...
これらのサービスは、次に ControllerServices パラメーターのデフォルト一覧として定義されます。
環境ファイルを使用してサービスパラメーターのデフォルト一覧を上書きすることもできます。たとえば、環境ファイルで ControllerServices を parameter_default として定義して、roles_data.yaml ファイルからのサービス一覧を上書きすることができます。