11.4.2. MachineHealthCheck リソースの一時停止
更新プロセスで、クラスター内のノードが一時的に利用できなくなる可能性があります。ワーカーノードの場合、MachineHealthCheck リソースは、そのようなノードを異常と判断して再起動する可能性があります。ワーカーノードの再起動を回避するには、クラスターを更新する前に、すべての MachineHealthCheck リソースを一時停止する必要があります。
一部の MachineHealthCheck リソースは一時停止する必要がない場合があります。MachineHealthCheck リソースが回復不可能な条件に依存している場合は、その MHC を一時停止する必要はありません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを実行して、一時停止したい利用可能な
MachineHealthCheckリソースをすべてリスト表示します。$ oc get machinehealthcheck -n openshift-machine-api各
MachineHealthCheckリソースに対して、次のコマンドを実行してマシンのヘルスチェックを一時停止します。$ oc -n openshift-machine-api annotate mhc <mhc_name> cluster.x-k8s.io/paused=""アノテーション付きの
MachineHealthCheckリソースは以下の YAML ファイルのようになります。apiVersion: machine.openshift.io/v1beta1 kind: MachineHealthCheck metadata: name: example namespace: openshift-machine-api annotations: cluster.x-k8s.io/paused: "" spec: selector: matchLabels: role: worker unhealthyConditions: - type: "Ready" status: "Unknown" timeout: "300s" - type: "Ready" status: "False" timeout: "300s" maxUnhealthy: "40%" status: currentHealthy: 5 expectedMachines: 5重要クラスターの更新後にマシンヘルスチェックを再開します。チェックを再開するには、以下のコマンドを実行して
MachineHealthCheckリソースから pause アノテーションを削除します。$ oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused-