29.2.4. Keepalived マルチキャスト
OpenShift Container Platform の IP フェイルオーバーは keepalived を内部で使用します。
前述のラベルが付いたノードで multicast が有効にされており、それらが 224.0.0.18 (VRRP マルチキャスト IP アドレス) のネットワークトラフィックを許可することを確認します。
keepalived デーモンを起動する前に、起動スクリプトは、マルチキャストトラフィックのフローを許可する iptables
ルールを検証します。このルールがない場合、起動スクリプトは新規ルールを作成し、これを IP テーブル接続に追加します。この新規ルールが IP テーブルに追加される場所は --iptables-chain=
オプションによって異なります。--iptables-chain=
オプションが指定される場合、ルールはオプションで指定されるチェーンに追加されます。そうでない場合は、ルールは INPUT
チェーンに追加されます。
iptables
ルールは、1 つ以上の keepalived デーモンがノードで実行されている場合に存在している必要があります。
iptables
ルールは、最後の keepalived デーモンの終了後に削除できます。このルールは自動的に削除されません。
各ノードで iptables
ルールを手動で管理できます。(ipfailover が --iptable-chain=""
オプションで作成されていない限り) 何も存在しない場合にこのルールが作成されます。
手動で追加されたルールがシステム起動後も保持されることを確認する必要があります。
すべての keepalived デーモンはマルチキャスト 224.0.0.18 で VRRP を使用してそのピアとネゴシエーションするので注意が必要です。それぞれの VIP に異なる VRRP-id (0..255 の範囲) が必要です。
$ for node in openshift-node-{5,6,7,8,9}; do ssh $node <<EOF export interface=${interface:-"eth0"} echo "Check multicast enabled ... "; ip addr show $interface | grep -i MULTICAST echo "Check multicast groups ... " ip maddr show $interface | grep 224.0.0 EOF done;