A.2. コンテナー化されたコンポーザブルサービス


以下のパラメーターは、コンテナー化されたすべてのコンポーザブルサービスに適用されます。

puppet_config

このセクションは、Puppet を使用した設定ファイルの作成をアクティブ化する入れ子状のキーと値のペアのセット。必須のパラメーターは以下のとおりです。

puppet_tags
Puppet を使用して設定ファイルを生成するのに使用される Puppet リソースタグ名。ファイルの生成には、名前の付けられた設定リソースだけが使用されます。タグを指定するすべてのサービスでは、デフォルトのタグ (file、concat、file_line、augeas、cron) が設定に追加されます。例: keystone_config
config_volume
このサービス用に設定ファイルが生成されるボリューム (ディレクトリー) 名。実行中の設定用 Kolla コンテナーにマウントをバインドする場所として、このパラメーターを使用します。
config_image
設定ファイルを生成するために使用されるコンテナーイメージ名。通常は、ランタイムサービスが使用するコンテナーと同一です。一部のサービスは、共通のベースコンテナーで生成される設定ファイルの共通のセットを共有します。
step_config
この設定は、Puppet を使用した設定ファイルの作成で使用されるマニフェストを制御。以下の Puppet タグをマニフェストと共に使用して、このコンテナーの設定ディレクトリーを生成します。

kolla_config

コンテナー内の kolla 設定のマッピングの作成。設定ファイルの絶対パスで始まり、以下のサブパラメーターが続くフォーマットを使用します。

command
コンテナーの起動時に実行するコマンド。
config_files
サービス起動前のサービス設定ファイルの場所 (source) およびコンテナー上の送付先 (dest)。また、コンテナー上でこれらのファイルをマージするか置き換えるか (merge)、ファイルのアクセス権限およびその他のプロパティーを維持するかどうか (preserve_properties) に関するオプションも含まれます。
permissions
コンテナー上の特定ディレクトリーのアクセス権限の設定。pathowner (および group) を設定する必要があります。再帰的にアクセス権限を適用することもできます (recurse)。

以下は、keystone サービス用の kolla_config パラメーターの一例です。

kolla_config:
  /var/lib/kolla/config_files/keystone.json:
    command: /usr/sbin/httpd -DFOREGROUND
    config_files:
      - source: "/var/lib/kolla/config_files/src/*"
        dest: "/"
        merge: true
        preserve_properties: true
  /var/lib/kolla/config_files/keystone_cron.json:
    command: /usr/sbin/crond -n
    config_files:
      - source: "/var/lib/kolla/config_files/src/*"
        dest: "/"
        merge: true
        preserve_properties: true
    permissions:
      - path: /var/log/keystone
        owner: keystone:keystone
        recurse: true

docker_config

各ステップでコンテナーを設定するために paunch コマンドに渡されるデータ。

  • step_0: hiera 設定ごとに生成されるコンテナーの設定ファイル
  • step_1: ロードバランサーの設定

    1. ベアメタルの設定
    2. コンテナーの設定
  • step_2: コアサービス (Database/Rabbit/NTP/etc.)

    1. ベアメタルの設定
    2. コンテナーの設定
  • step_3: OpenStack サービスの初期設定 (Ringbuilder など)

    1. ベアメタルの設定
    2. コンテナーの設定
  • step_4: 一般的な OpenStack サービス

    1. ベアメタルの設定
    2. コンテナーの設定
    3. Keystone コンテナーポストの初期化 (テナント、サービス、エンドポイントの作成)
  • step_5: サービスのアクティブ化 (Pacemaker)

    1. ベアメタルの設定
    2. コンテナーの設定

YAML はパラメーターセットを使用して、各ステップで実行するコンテナーおよび各コンテナーに関連付けられた podman 設定を定義します。以下に例を示します。

docker_config:
  step_3:
    keystone:
      start_order: 2
      image: *keystone_image
      net: host
      privileged: false
      restart: always
      healthcheck:
        test: /openstack/healthcheck
      volumes: *keystone_volumes
      environment:
        - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS

これにより keystone コンテナーが作成され、使用するイメージ、ネットワーク種別、および環境変数などの詳細を定義するための該当パラメーターが使用されます。

container_puppet_tasks

container-puppet.py ツールを直接実行するためのデータの提供。タスクが実行されるのは、(各ノードではなく) クラスター全体で 1 回だけで、keystone エンドポイントやデータベースユーザーなどの初期化に必要ないくつかの Puppet スニペットに対して有用です。以下に例を示します。

container_puppet_tasks:
  # Keystone endpoint creation occurs only on single node
  step_3:
    config_volume: 'keystone_init_tasks'
    puppet_tags: 'keystone_config,keystone_domain_config,keystone_endpoint,keystone_identity_provider,keystone_paste_ini,keystone_role,keystone_service,keystone_tenant,keystone_user,keystone_user_role,keystone_domain'
    step_config: 'include ::tripleo::profile::base::keystone'
    config_image: *keystone_config_image

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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.