This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.4. check スクリプトおよび notify スクリプトの設定
Keepalived は、オプションのユーザー指定の check スクリプトを定期的に実行してアプリケーションの正常性をモニターします。たとえば、このスクリプトは要求を発行し、応答を検証することで web サーバーをテストします。
				チェックスクリプトが指定されない場合、TCP 接続をテストする単純なデフォルトスクリプトが実行されます。このデフォルトテストは、モニターポートが 0 の場合は抑制されます。
			
				各 IP フェイルオーバー Pod は、Pod が実行されているノードで 1 つ以上の仮想 IP (VIP) を管理する Keepalived デーモンを管理します。Keepalived デーモンは、ノードの各 VIP の状態を維持します。特定のノード上の特定の VIP は、master、backup、または fault 状態にある可能性があります。
			
				master 状態にあるノードでその VIP の check スクリプトが失敗すると、そのノードの VIP は fault 状態になり、再ネゴシエーションがトリガーされます。再ネゴシエーションの中に fault 状態にないノード上のすべての VIP は、どのノードが VIP を引き継ぐかを決定することに参加します。最終的に VIP は一部のノードで master の状態に入り、VIP は他のノードで backup 状態のままになります。
			
				backup 状態の VIP を持つノードに障害が発生すると、そのノードの VIP は fault 状態になります。fault 状態のノード上の VIP の check スクリプトが再度パスすると、そのノードの VIP は fault 状態を終了し、master 状態に入るためにネゴシエートします。次に、そのノードの VIP は、master 状態または backup 状態のいずれかになります。
			
クラスター管理者は、オプションの notify スクリプトを提供できます。このスクリプトは状態が変更されるたびに呼び出されます。Keepalived は以下の 3 つのパラメーターをこのスクリプトに渡します。
- 
						$1-groupまたはinstance
- 
						$2:groupまたはinstanceの名前です。
- 
						$3: 新規の状態:master、backup、またはfault
				check および notify スクリプトは、IP フェイルオーバー Pod で実行され、ホストファイルシステムではなく Pod ファイルシステムを使用します。ただし、IP フェイルオーバー Pod はホストファイルシステムが /hosts マウントパスで利用可能にします。check または notify スクリプトを設定する場合は、スクリプトへの完全パスを指定する必要があります。スクリプトを提供する方法として、ConfigMap の使用が推奨されます。
			
				check および notify スクリプトの完全パス名は、Keepalived 設定ファイル (_/etc/keepalived/keepalived.conf) に追加されます。このファイルは、Keepalived が起動するたびにロードされます。スクリプトは、以下のように ConfigMap を使用して Pod に追加できます。
			
前提条件
- 
						OpenShift CLI (oc) がインストールされている。
- 
						cluster-admin権限を持つユーザーとしてクラスターにログインしている。
手順
- 必要なスクリプトを作成し、これを保持する ConfigMap を作成します。スクリプトには入力引数は指定されず、 - OKの場合は- 0を、- failの場合は- 1を返す必要があります。- check スクリプト - mycheckscript.sh:- #!/bin/bash # Whatever tests are needed # E.g., send request and verify response exit 0- #!/bin/bash # Whatever tests are needed # E.g., send request and verify response exit 0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ConfigMap を作成します。 - oc create configmap mycustomcheck --from-file=mycheckscript.sh - $ oc create configmap mycustomcheck --from-file=mycheckscript.sh- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- スクリプトを Pod に追加します。マウントされた設定マップファイルの - defaultModeは、- ocコマンドを使用して、またはデプロイメント設定を編集して実行できる必要があります。通常は、- 0755、- 493(10 進数) の値が使用されます。- oc set env deploy/ipfailover-keepalived \ OPENSHIFT_HA_CHECK_SCRIPT=/etc/keepalive/mycheckscript.sh- $ oc set env deploy/ipfailover-keepalived \ OPENSHIFT_HA_CHECK_SCRIPT=/etc/keepalive/mycheckscript.sh- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc set volume deploy/ipfailover-keepalived --add --overwrite \ --name=config-volume \ --mount-path=/etc/keepalive \ --source='{"configMap": { "name": "mycustomcheck", "defaultMode": 493}}'- $ oc set volume deploy/ipfailover-keepalived --add --overwrite \ --name=config-volume \ --mount-path=/etc/keepalive \ --source='{"configMap": { "name": "mycustomcheck", "defaultMode": 493}}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- oc set envコマンドは空白を区別します。- =記号の両側に空白を入れることはできません。ヒント- または、 - ipfailover-keepalivedデプロイメント設定を編集することもできます。- oc edit deploy ipfailover-keepalived - $ oc edit deploy ipfailover-keepalived- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 変更を保存し、エディターを終了します。これにより - ipfailover-keepalivedが再起動されます。