4.12.6. Machine Config Operator の自動再起動の無効化
設定変更が Machine Config Operator (MCO) によって行われる場合、Red Hat Enterprise Linux CoreOS (RHCOS) を再起動して変更を反映する必要があります。設定の変更が自動または手動であるかどうかにかかわらず、RHCOS ノードは、一時停止されない限り自動的に再起動します。
MCO が以下の変更のいずれかを検出すると、ノードのドレインまたは再起動を行わずに更新を適用します。
-
マシン設定の
spec.config.passwd.users.sshAuthorizedKeysパラメーターの SSH キーの変更。 -
openshift-confignamespace でのグローバルプルシークレットまたはプルシークレットへの変更。 -
Kubernetes API Server Operator による
/etc/kubernetes/kubelet-ca.crt認証局 (CA) の自動ローテーション。
-
マシン設定の
MCO は、
/etc/containers/registries.confファイルへの変更 (ImageDigestMirrorSet、ImageTagMirrorSet、またはImageContentSourcePolicyオブジェクトの編集など) を検出すると、対応するノードの drain (Pod の退避) を実行し、変更を適用して、ノードをスケジューリング対象に戻します。次の変更ではノードのドレインは発生しません。-
pull-from-mirror = "digest-only"パラメーターがミラーごとに設定されたレジストリーの追加。 -
pull-from-mirror = "digest-only"パラメーターがレジストリーに設定されたミラーの追加。 -
unqualified-search-registriesへのアイテムの追加。
-
不要な中断を防ぐために、マシン設定プール (MCP) を変更して、Operator がマシン設定を変更した後に自動再起動を防ぐことができます。
4.12.6.1. コンソールの使用による Machine Config Operator の自動再起動の無効化 リンクのコピーリンクがクリップボードにコピーされました!
Machine Config Operator (MCO) の変更から不要な中断を防ぐには、OpenShift Container Platform Web コンソールを使用してマシン設定プール (MCP) を変更し、MCO がそのプール内のノードに変更を加えられないようにすることができます。これにより、通常 MCO 更新プロセスの一部として実行される再起動ができなくなります。
Machine Config Operator の自動再起動の無効化 で、2 つ目の NOTE を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
自動 MCO 更新の再起動の一時停止または一時停止を解除するには、以下を実行します。
自動再起動プロセスを一時停止します。
-
cluster-adminロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 -
Compute
MachineConfigPools をクリックします。 - MachineConfigPools ページで、再起動を一時停止するノードに合わせて master または worker のいずれかをクリックします。
- master または worker ページで、YAML をクリックします。
YAML で、
spec.pausedフィールドをtrueに更新します。MachineConfigPool オブジェクトのサンプル
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool # ... spec: # ... paused: true1 # ...- 1
spec.pausedフィールドをtrueに更新し、再起動を一時停止します。
MCP が一時停止されていることを確認するには、MachineConfigPools ページに戻ります。
MachineConfigPools ページの Paused 列では、変更した MCP に対して True が報告されます。
MCP が一時停止中に保留中の変更がある場合は、Updated 列は False であり、Updating は False になります。Updated が True であり、Updating が False の場合、保留中の変更はありません。
重要保留中の変更がある場合 (Updated および Updating 列の両方が False の場合)、できるだけ早期に再起動のメンテナンス期間をスケジュールすることが推奨されます。自動再起動プロセスの一時停止を解除して、最後に再起動してからキューに追加された変更を適用するには、以下の手順に従います。
-
自動再起動プロセスの一時停止を解除するには、以下を実行します。
-
cluster-adminロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 -
Compute
MachineConfigPools をクリックします。 - MachineConfigPools ページで、再起動を一時停止するノードに合わせて master または worker のいずれかをクリックします。
- master または worker ページで、YAML をクリックします。
YAML で、
spec.pausedフィールドをfalseに更新します。MachineConfigPool オブジェクトのサンプル
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool # ... spec: # ... paused: false1 # ...- 1
spec.pausedフィールドをfalseに更新し、再起動を許可します。注記MCP の一時停止を解除すると、MCO は一時停止したすべての変更を適用し、必要に応じて Red Hat Enterprise Linux CoreOS (RHCOS) を再起動します。
MCP が一時停止されていることを確認するには、MachineConfigPools ページに戻ります。
MachineConfigPools ページの Paused 列では、変更した MCP に対して False が報告されます。
MCP が保留中の変更を適用する場合、Updated 列は False になり、Updating 列は True になります。Updated が True であり、Updating が False の場合、追加の変更は加えられません。
-