A.2. コンテナー化されたコンポーザブルサービス
以下のパラメーターは、コンテナー化されたすべてのコンポーザブルサービスに適用されます。
puppet_config
このセクションは、Puppet を使用した設定ファイルの作成をアクティブ化する入れ子状のキーと値のペアのセット。必須のパラメーターは以下のとおりです。
- puppet_tags
-
Puppet を使用して設定ファイルを生成するのに使用される Puppet リソースタグ名。ファイルの生成には、名前の付けられた設定リソースだけが使用されます。タグを指定するすべてのサービスでは、デフォルトのタグ (file、concat、file_line、augeas、cron) が設定に追加されます。例:
keystone_config - config_volume
- このサービス用に設定ファイルが生成されるボリューム (ディレクトリー) 名。実行中の設定用 Kolla コンテナーにマウントをバインドする場所として、このパラメーターを使用します。
- config_image
- 設定ファイルを生成するのに使用される Docker イメージ名。通常は、ランタイムサービスが使用するコンテナーと同一です。一部のサービスは、共通のベースコンテナーで生成される設定ファイルの共通のセットを共有します。
- step_config
- この設定により、Puppet を使用して docker 設定ファイルを作成するのに使用されるマニフェストを制御します。このコンテナーの設定ディレクトリー生成には、このマニフェストと共に下記の Puppet タグが使用されます。
kolla_config
コンテナー内の Kolla 設定のマッピングの作成。形式は設定ファイルの絶対パスで始まり、それを以下のサブパラメーターに使用します。
- command
- コンテナーの起動時に実行するコマンド。
- config_files
-
サービス起動前のサービス設定ファイルの場所 (
source) およびコンテナー上の送付先 (dest)。また、コンテナー上でこれらのファイルをマージするか置き換えるか (merge)、ファイルのアクセス権限およびその他のプロパティーを維持するかどうか (preserve_properties) に関するオプションも含まれます。 - permissions
-
コンテナー上の特定ディレクトリーのアクセス権限の設定。
path、owner、および group が必要です。再帰的にアクセス権限を適用することもできます (recurse)。
以下は、keystone サービスの kolla_config パラメーターの例です。
docker_config
コンテナー設定の各ステップで docker-cmd フックに渡されるデータ
-
step_0: Hiera 設定により生成されるコンテナーの設定ファイル step_1: ロードバランサーの設定- ベアメタルの設定
- コンテナーの設定
step_2: コアサービス (Database/Rabbit/NTP/etc.)- ベアメタルの設定
- コンテナーの設定
step_3: OpenStack サービスの初期設定 (Ringbuilder など)- ベアメタルの設定
- コンテナーの設定
step_4: 一般的な OpenStack サービス- ベアメタルの設定
- コンテナーの設定
- Keystone コンテナーポストの初期化 (テナント、サービス、エンドポイントの作成)
step_5: サービスのアクティブ化 (Pacemaker)- ベアメタルの設定
- コンテナーの設定
YAML はパラメーターセットを使用して、各ステップで実行するコンテナーおよび各コンテナーに関連付けられた docker 設定を定義します。以下に例を示します。
これにより keystone コンテナーが作成され、使用するイメージ、ネットワーク種別、および環境変数などの詳細を定義するための該当パラメーターが使用されます。
docker_puppet_tasks
docker-puppet.py ツールを直接アクティブ化するためのデータを提供します。タスクが実行されるのは、(各ノードではなく) クラスター全体で 1 度だけで、keystone エンドポイントやデータベースユーザーなどの初期化に必要な、さまざまな Puppet スニペットに対して有用です。以下に例を示します。
host_prep_tasks
これは、コンテナー化されたサービス用にノードホストを準備するためにホスト上で実行する Ansible スニペットです。たとえば、コンテナー作成時に、コンテナーにマウントする特定のディレクトリーを作成しなければならない場合があります。
fast_forward_upgrade_tasks
Fast Forward Upgrade プロセスを容易にする Ansible スニペット。このスニペットは統合された Playbook に追加されます。それぞれの操作では、タグを使用して step および release を定義します。
通常、step は以下のような段階を経ます。
-
step=0: 実行中のサービスを確認する -
step=1: サービスを停止する -
step=2: クラスターを停止する -
step=3: リポジトリーを更新する -
step=4: データベースのバックアップ -
step=5: パッケージ更新前コマンド -
step=6: パッケージの更新 -
step=7: パッケージ更新後コマンド -
step=8: データベースの更新 -
step=9: 検証
tag はリリースに対応します。
-
tag=ocata: OpenStack Platform 11 -
tag=pike: OpenStack Platform 12 -
tag=queens: OpenStack Platform 13