7.6.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 がマシン設定を変更した後に自動再起動を防ぐことができます。
7.6.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 の場合、追加の変更は加えられません。
-