Menu Close

14.3. 単一コンテナーでの操作の実施

注記

この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト目的のみでご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。

tripleo-container-manage ロールを使用して、すべてのコンテナーまたは特定のコンテナーを管理することができます。特定のコンテナーを管理する場合は、特定のコンテナーをカスタム Ansible Playbook の対象にできるように、コンテナーデプロイメントステップおよびコンテナー設定 JSON ファイルの名前を特定する必要があります。

前提条件

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. source コマンドで overcloudrc 認証情報ファイルを読み込みます。

    $ source ~/overcloudrc
  3. コンテナーデプロイメントステップを特定します。各ステップのコンテナー設定は、/var/lib/tripleo-config/container-startup-config/step_{1,2,3,4,5,6} ディレクトリーに保存されています。
  4. コンテナーの JSON 設定ファイルを特定します。コンテナー設定ファイルは、該当する step_* ディレクトリーに保存されています。たとえば、ステップ 1 の HAProxy コンテナーの設定ファイルは、/var/lib/tripleo-config/container-startup-config/step_1/haproxy.json です。
  5. 適切な Ansible Playbook を作成します。たとえば、HAProxy コンテナーイメージを置き換えるには、以下の例に示す Playbook を使用します。

    - hosts: localhost
      become: true
      tasks:
        - name: Manage step_1 containers using tripleo-ansible
          block:
            - name: "Manage HAproxy container at step 1 with tripleo-ansible"
              include_role:
                name: tripleo-container-manage
              vars:
                tripleo_container_manage_systemd_order: true
                tripleo_container_manage_config_patterns: 'haproxy.json'
                tripleo_container_manage_config: "/var/lib/tripleo-config/container-startup-config/step_1"
                tripleo_container_manage_config_id: "tripleo_step1"
                tripleo_container_manage_config_overrides:
                  haproxy:
                    image: registry.redhat.io/tripleomaster/<HAProxy-container>:hotfix

    tripleo-container-manage ロールで使用することのできる変数についての詳細は、「tripleo-container-manage ロールの変数」 を参照してください。

  6. Playbook を実行します。

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml

    変更を適用せずに Playbook を実行する場合は、ansible-playbook コマンドに --check オプションを追加します。

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --check

    変更を適用せずに Playbook がコンテナーに加える変更を把握する場合は、ansible-playbook コマンドに --check および --diff オプションを追加します。

    (overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --check --diff