第8章 カスタムロールおよびカスタムサービスの使用
通常 Red Hat OpenStack Platform は、事前定義済みロールのノード (例: Controller ロール、Compute ロール、さまざまなストレージロール種別のノード) で構成されます。これらのデフォルトロールには、それぞれコアの heat テンプレートコレクションで定義するサービスのセットが含まれます。ただし、オールインワンの Red Hat OpenStack Platform インストールは、すべての OpenStack サービスが含まれる単一のノード上で実行されます。/usr/share/openstack-tripleo-heat-templates/roles
ディレクトリーの Standalone.yaml
ロールファイルは、オールインワンインストールのすべてのサービスが含まれる設定ファイルです。Standalone.yaml
ロールファイルのコピーを作成して変更し、インストール内のサービスを有効および無効にすることができます。
Standalone.yaml
ファイルには、ロール Standalone
にサービスの一覧が含まれます。以下の例を使用して、このファイルの構文を説明します。
- name: Standalone description: | A standalone role that includes a minimal set of services. Use this role for testing in a single node configuration with the 'openstack tripleo deploy --standalone' command, or with the 'openstack overcloud deploy' command. CountDefault: 1 tags: - primary - controller disable_constraints: True ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator ... - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar
このロールファイルをデプロイコマンドに追加して、Standalone ロールでスタックを設定します。このロールには、ロールファイルの ServicesDefault:
セクションに含めたサービスが含まれます。
[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
ただし、プロダクションのマルチノード Red Hat OpenStack Platform 環境では、すべてのサービスを単一のノードに含めるのではなく、OpenStack サービスの一部が含まれるロールを各ノードに割り当てます。たとえば、デフォルトの Controller ロールには管理、ネットワーク、および高可用性サービスが含まれ、デフォルトの Compute ロールにはコンピューティングサービスが含まれます。マルチノード環境のデフォルトのロールファイルは、/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
ファイルです。このファイルで、以下のロール種別を定義します。
- Controller
- Compute
- BlockStorage
- ObjectStorage
- CephStorage
以下の例を使用して、マルチノード環境におけるロールの構文を説明します。
- name: Controller description: | Controller role that contains all of the services for database, messaging and network functions. ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient ... - name: Compute description: | Basic Compute Node role ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient ...
デプロイメントコマンドを実行するたびに、ロールファイルを指定する必要があります。デプロイメントコマンドで -r
引数を使用して、このファイルをオーバーライドしてカスタムロールファイルを使用することができます。
[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r ~/templates/roles_data-custom.yaml
8.1. オールインワン Red Hat OpenStack Platform 環境でのサービスの有効化および無効化
/usr/share/openstack-tripleo-heat-templates/roles
ディレクトリーの Standalone.yaml
ロールファイルは、オールインワンインストールのすべてのサービスが含まれる設定ファイルです。お使いの環境でサービスを有効または無効にするには、以下の手順を実施します。
手順
サービスを無効にするには、
/usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
ファイルを編集し、無効にするサービスにOS::Heat::None
の値を追加します。- OS::TripleO::Services::Aide: OS::Heat::None
サービスを有効にするには、
/usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
ファイルを編集し、有効にするサービスからOS::Heat::None
の値を削除します。- OS::TripleO::Services::Aide