7.3. Red Hat OpenStack Platform 上の HA クラスターにおけるフローティング IP アドレスの設定
次の手順では、RHOSP で HA クラスターのフローティング IP アドレスリソースを作成します。この手順では、RHOSP 認証に clouds.yaml
ファイルを使用します。
前提条件
- RHOSP で実行されている設定済みの HA クラスターがある。
- RHOSP 管理者によって割り当てられた、フローティング IP アドレスとして使用するパブリックネットワーク上の IP アドレスがある。
- RHOSP の認証方法のセットアップ で説明されているように、クラスター設定に使用する RHOSP 認証方法を使用して、RHOSP API へアクセスできる。
手順
クラスター内の任意のノードから次の手順を実行します。
openstack-floating-ip
リソースエージェントのオプションを表示するには、次のコマンドを実行します。# pcs resource describe openstack-floating-ip
フローティング IP アドレスリソースの作成に使用するパブリックネットワーク上のアドレスのサブネット ID を見つけます。
パブリックネットワークは通常、デフォルトゲートウェイのあるネットワークです。次のコマンドを実行して、デフォルトゲートウェイアドレスを表示します。
# route -n | grep ^0.0.0.0 | awk '{print $2}' 172.16.0.1
次のコマンドを実行して、パブリックネットワークのサブネット ID を見つけます。このコマンドは、ID とサブネットの見出しを含むテーブルを生成します。
# openstack --os-cloud=ha-example subnet list +-------------------------------------+---+---------------+ | ID | | Subnet +-------------------------------------+---+---------------+ | 723c5a77-156d-4c3b-b53c-ee73a4f75185 | | 172.16.0.0/24 | +--------------------------------------+------------------+
リソースのパブリック IP アドレスとそのアドレスのサブネット ID を指定して、フローティング IP アドレスリソースを作成します。フローティング IP アドレスリソースを設定すると、リソースエージェントはパブリックネットワーク上に仮想 IP アドレスを設定し、それをクラスターノードに関連付けます。
# pcs resource create float-ip openstack-floating-ip cloud="ha-example" ip_id="10.19.227.211" subnet_id="723c5a77-156d-4c3b-b53c-ee73a4f75185"
openstack-info
リソースがフローティング IP アドレスリソースの前に起動するように、順序の制約を設定します。# pcs constraint order start openstack-info-clone then float-ip Adding openstack-info-clone float-ip (kind: Mandatory) (Options: first-action=start then-action=start
フローティング IP アドレスリソースが
openstack-info
リソースと同じノードで実行されるように、場所の制約を設定します。# pcs constraint colocation add float-ip with openstack-info-clone score=INFINITY
検証
リソース制約の設定を確認します。
# pcs constraint config Location Constraints: Ordering Constraints: start openstack-info-clone then start float-ip (kind:Mandatory) Colocation Constraints: float-ip with openstack-info-clone (score:INFINITY)
クラスターのステータスをチェックして、リソースが実行されていることを確認します。
# pcs status . . . Full List of Resources: * fenceopenstack (stonith:fence_openstack): Started node01 * Clone Set: openstack-info-clone [openstack-info]: * Started: [ node01 node02 node03 ] * float-ip (ocf::heartbeat:openstack-floating-ip): Started node02