第3章 デプロイメント


以下の手順では、Ansible を使用してインスタンス HA を有効にします。Ansible に関する詳しい情報は、Ansible のドキュメントを参照してください。

3.1. 必要な Ansible 設定ファイルの作成

Ansible を使用してインスタンス HA を有効にするには、インベントリーファイルSSH 引数ファイル が必要です。両ファイルは、オーバークラウドにインスタンス HA を実装するのに必要な Ansible の変数を渡します。

インベントリーファイル

インベントリーファイルには、Ansible Playbook 用の異なるターゲットホストが記載されます。このファイルは 2 つのセクションに分かれ、最初のセクションには各ノード (名前) と共に、Ansible が各 Playbook で使用する必要のあるホスト名、ユーザー名、秘密鍵ファイルのパスがリストされます。以下に例を示します。

overcloud-controller-0 ansible_host=overcloud-controller-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
Copy to Clipboard Toggle word wrap

2 番目のセクションには、次の見出し (または ノードの種別) の下に各ノードがリストされます: computeundercloudovercloudcontroller

/home/stack/hosts という名前のインベントリーファイルを作成します。以下の例には、このファイルに必要な構文を示しています。

undercloud ansible_host=undercloud ansible_user=stack ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-compute-1 ansible_host=overcloud-compute-1 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-compute-0 ansible_host=overcloud-compute-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-2 ansible_host=overcloud-controller-2 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-1 ansible_host=overcloud-controller-1 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-0 ansible_host=overcloud-controller-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa

[compute]
overcloud-compute-1
overcloud-compute-0

[undercloud]
undercloud

[overcloud]
overcloud-compute-1
overcloud-compute-0
overcloud-controller-2
overcloud-controller-1
overcloud-controller-0

[controller]
overcloud-controller-2
overcloud-controller-1
overcloud-controller-0
Copy to Clipboard Toggle word wrap

アンダークラウドとオーバークラウドの両方で全ホストの完全なインベントリーを生成するには、以下のコマンドを実行します。

stack@director $ tripleo-ansible-inventory --list
Copy to Clipboard Toggle word wrap

このコマンドにより、詳細な最新のインベントリーが JSON 形式で生成されます。詳しい情報は、「Running Ansible Automation」を参照してください。

SSH 引数ファイル

SSH 引数ファイルは、Ansible が各ターゲットホストで Playbook を実行するのに必要な認証情報と認証設定を渡します。

以下のコマンドを (/home/stack から) 実行して、SSH 引数ファイルを生成します。

stack@director $ cat /home/stack/.ssh/id_rsa.pub >> /home/stack/.ssh/authorized_keys
stack@director $ echo -e "Host undercloud\n Hostname 127.0.0.1\n IdentityFile /home/stack/.ssh/id_rsa\n User stack\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n" > ssh.config.ansible
 /home/stack/stackrc
stack@director $ openstack server list -c Name -c Networks | awk '/ctlplane/ {print $2, $4}' | sed s/ctlplane=//g | while read node; do node_name=$(echo $node | cut -f 1 -d " "); node_ip=$(echo $node | cut -f 2 -d " "); echo -e "Host $node_name\n Hostname $node_ip\n IdentityFile /home/stack/.ssh/id_rsa\n User heat-admin\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n"; done >> ssh.config.ansible
Copy to Clipboard Toggle word wrap

上記のコマンドを実行すると、/home/stack/ssh.config.ansible という名前の SSH 引数ファイルが生成されます。このファイルには、各オーバークラウドノードのホスト固有の接続オプションが含まれます。以下に例を示します。

Host overcloud-controller-0
    Hostname 192.168.24.11
    IdentityFile /home/stack/.ssh/id_rsa
    User heat-admin
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
Copy to Clipboard Toggle word wrap

3.2. アンダークラウドの準備

「必要な Ansible 設定ファイルの作成」の手順に従って インベントリーファイルSSH 引数ファイル を作成した後には、インスタンス HA 用のオーバークラウドを準備することができます。

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. この TAR アーカイブ/home/stack/ にダウンロードします。これには、Playbook、ロール、および Ansible を使用してインスタンス HA を有効化するのに必要なその他のユーティリティーが格納されています。

    注記

    ここで提供される TAR アーカイブ は、アップストリームの GIT リポジトリーをテストおよび修正したバージョンです。このリポジトリーをクローンするには、以下のコマンドを実行します。

    stack@director $ git clone git://github.com/redhat-openstack/tripleo-quickstart-utils
    Copy to Clipboard Toggle word wrap

    このリポジトリーは、通知なしに更新される可能性があるので、この手順で利用可能なアーカイブとは異なる場合があります。

  3. TAR アーカイブを展開します。

    stack@director $ tar -xvf ansible-instanceha.tar
    Copy to Clipboard Toggle word wrap
  4. /home/stack/ansible.cfg を作成して、以下の内容を記述します。

    [defaults]
    roles_path = /home/stack/ansible-instanceha/roles
    Copy to Clipboard Toggle word wrap
  5. ansible.cfg、ホスト (インベントリーファイル) と ssh.config.ansible (SSH 引数ファイル) を以下の環境変数にエクスポートします。

    stack@director $ export ANSIBLE_CONFIG="/home/stack/ansible.cfg"
    stack@director $ export ANSIBLE_INVENTORY="/home/stack/hosts"
    stack@director $ export ANSIBLE_SSH_ARGS="-F /home/stack/ssh.config.ansible"
    Copy to Clipboard Toggle word wrap
  6. オーバークラウドのノード定義テンプレート (デフォルトでは instackenv.json) が /home/stack/ にあることを確認します。ノード定義テンプレートに関する詳しい情報は、「オーバークラウドへのノードの登録」を参照してください。

3.3. インスタンス HA の有効化

アンダークラウドが完全に準備できたら、「アンダークラウドの準備」のステップでダウンロードおよび展開した、事前に記述済みの Playbook を実行することができます。これらの Playbook により、STONITH 設定ありまたはなしで、コントローラーおよびコンピュートノードにインスタンス HA を有効化することができます。「コントローラーノードのフェンシング」を参照してください。

コントローラーノードとコンピュートノードの両方でインスタンス HA を有効化して STONITH を設定するには、以下のコマンドを実行します。

stack@director $ ansible-playbook /home/stack/ansible-instanceha/playbooks/overcloud-instance-ha.yml \
-e release="RELEASE"
Copy to Clipboard Toggle word wrap

デフォルトでは、Playbook により、instance-ha ソリューションは共有ストレージが有効化された状態でインストールされます。お使いのオーバークラウドで共有ストレージを使用しない場合は、instance_ha_shared_storage=false オプションを使用してください

stack@director $ ansible-playbook /home/stack/ansible-instanceha/playbooks/overcloud-instance-ha.yml \
-e release="RELEASE" -e instance_ha_shared_storage=false
Copy to Clipboard Toggle word wrap
注記

インスタンス HA における共有ストレージについての詳しい情報は、「共有ストレージの例外」を参照してください。

コントローラーノードとコンピュートノードの両方で STONITH を設定せずに インスタンス HA を有効化するには、以下のコマンドを実行します。

stack@director $ ansible-playbook /home/stack/ansible-instanceha/playbooks/overcloud-instance-ha.yml \
-e release="RELEASE" -e stonith_devices=”none”
Copy to Clipboard Toggle word wrap

インスタンス HA を有効化して STONITH をコンピュートノードのみで設定するには (例: STONITH がコントローラーノードではすでに設定済みの場合など)、以下のコマンドを実行します。

stack@director $ ansible-playbook /home/stack/ansible-instanceha/playbooks/overcloud-instance-ha.yml \
-e release="RELEASE" -e stonith_devices=”computes”
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat