3.2. マシン設定の変更時にノードを再起動する動作を設定する
node disruption policy を作成すると、クラスターの停止を引き起こすマシン設定の変更と、引き起こさない変更を定義できます。
/var
または /etc
ディレクトリー内のファイル、systemd ユニット、SSH キー、および registries.conf
ファイルの変更に対してノードがどのように反応するかを制御できます。
これらの変更のいずれかを行うと、node disruption policy によって、MCO が変更を実装するときに必要なアクションが次の中から決定されます。
- Reboot: MCO はノードをドレインして再起動します。これがデフォルトの動作です。
- None: MCO はノードのドレインも再起動も実行しません。MCO は、それ以上のアクションなしで変更を適用します。
- Drain: MCO はノードのワークロードを遮断してドレインします。ワークロードは新しい設定で再起動します。
- Reload: サービスの場合、MCO はサービスを再起動せずに指定されたサービスをリロードします。
- Restart: サービスの場合、MCO は指定されたサービスを完全に再起動します。
- DaemonReload: MCO は systemd マネージャー設定をリロードします。
- Special: これは MCO 専用の内部アクションであり、ユーザーが設定することはできません。
-
Reboot
およびNone
アクションを他のアクションと一緒に使用することはできません。Reboot
およびNone
アクションは、他のアクションをオーバーライドするためです。 - アクションは、node disruption policy のリストに設定されている順序で適用されます。
- ノードの再起動やその他の停止が必要となるその他のマシン設定の変更を行った場合、その再起動は node disruption policy のアクションよりも優先されます。
手順
machineconfigurations.operator.openshift.io
オブジェクトを編集して、node disruption policy を定義します。oc edit MachineConfiguration cluster -n openshift-machine-config-operator
$ oc edit MachineConfiguration cluster -n openshift-machine-config-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のような node disruption policy を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- node disruption policy を指定します。
- 2
- マシン設定ファイルの定義と、それらのパスの変更に対して実行するアクションのリストを指定します。このリストは最大 50 個のエントリーをサポートします。
- 3
- 指定したファイルが変更されたときに実行する一連のアクションを指定します。アクションは、このリストに設定されている順序で適用されます。このリストは最大 10 個のエントリーをサポートします。
- 4
- 指定したファイルが変更されたときに、リストしたサービスをリロードすることを指定します。
- 5
- アクションの対象となるサービスの完全な名前を指定します。
- 6
- マシン設定によって管理されるファイルの場所を指定します。ポリシー内のアクションは、
path
内のファイルが変更されたときに適用されます。 - 7
- クラスター内の SSH キーが変更されたときに実行するサービス名とアクションのリストを指定します。
- 8
- systemd ユニット名のリストと、これらのユニットが変更されたときに実行するアクションを指定します。
検証
作成した
MachineConfiguration
オブジェクトファイルを表示します。oc get MachineConfiguration/cluster -o yaml
$ oc get MachineConfiguration/cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 現在のクラスター検証済みのポリシーを示します。