Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.5.2. バンドルでの Pacemaker リソースの設定

バンドルは必要に応じて、1 つの Pacemaker クラスターリソースを含めることができます。バンドルに含まれていないリソースと同様に、クラスターリソースには、操作、インスタンス属性、メタデータ属性を定義することができます。バンドルにリソースが含まれる場合、コンテナーイメージは Pacemaker Remote デーモンを含む必要があります。また、ip-range-start または control-port をバンドルで設定する必要があります。Pacemaker は、接続に対して暗黙的な ocf:pacemaker:remote リソースを作成し、コンテナー内で Peacemaker Remote を起動して、Pacemaker Remote でリソースを監視・管理します。バンドルに 2 つ以上のコンテナーインスタンス (レプリカ) がある場合、Pacemaker リソースは暗黙的なクローンとして機能します。バンドルが promoted-max オプションを、0 を超えるように設定した場合、これは多状態クローンになります。
コマンドの bundle パラメーター、リソースを含めるバンドル ID を指定して、pcs resource create コマンドで Pacemaker バンドルでリソースを作成します。リソースが含まれる Pacemaker バンドルを作成する例については、「Pacemaker バンドル設定の例」 を参照してください。
重要
リソースを含むバンドルのコンテナーにはアクセス可能なネットワーク環境が必要です。それにより、クラスターノードの Pacemaker はコンテナー内の Pacemaker Remote にコンタクトできます。たとえば、docker オプション --net=none はリソースと合わせて使用しないでください。オプションの ip-range-start は、リソースとは使うべきではありません。docker オプション --net=host が使用されている場合 (コンテナーがホストのネットワーク領域を共有している) 場合、バンドルごとに一意の control-port パラメーターを指定する必要があります。ファイアウォールでは、control-port にアクセスできるように設定を行う必要があります。

9.5.2.1. ノード属性とバンドルリソース

バンドルにクラスターリソースが含まれる場合、リソースエージェントはマスタースコアなどのノード属性を設定する可能性があります。ただし、コンテナーでは、ノードが属性を取得するべきかどうかはっきりしません。
コンテナーがホストされているノードに関係なく、コンテナーが同じ共有ストレージを使用している場合は、バンドルノード自体でマスタースコアを使用することが適切です。一方、コンテナーが、基礎となるホストからエクスポートされたストレージを使用する場合は、基礎となるホストでマスタースコアを使用することがより適切です。これは特定の状況に依存するため、container-attribute-target リソースメタデータ属性では、ユーザーは使用するアプローチを指定することができます。host に設定されると、ユーザー定義型のノード属性は、基礎となるホストでチェックされます。その他の場合は、ローカルノード (この場合はバンドルノード) が使用されます。この動作は、ユーザー定義属性にのみ適用されます。クラスターは、#uname などのクラスター定義型の属性に対してローカルノードを常にチェックします。
container-attribute-targethost に設定されると、クラスターは、追加の環境変数をリソースエージェノに渡します。これにより、ノード属性を正しく設定できるようになります。