6.2.2. マシン削除処理順序
OpenShift Container Platform 4.20 には、マシン削除フェーズ用の 2 つのライフサイクルフック (preDrain と preTerminate) があります。特定のライフサイクルポイントのすべてのフックが削除されると、調整は通常どおり続行されます。
図6.1 マシン削除のフロー
マシンの Deleting フェーズは次の順序で続行されます。
既存のマシンは、次のいずれかの理由により削除される予定です。
-
cluster-admin権限を持つユーザーは、oc delete machineコマンドを使用します。 -
マシンは
machine.openshift.io/delete-machineアノテーションを取得します。 - マシンを管理するマシンセットは、調整の一環としてレプリカ数を減らすために、そのマシンに削除のマークを付けます。
- Cluster Autoscaler は、クラスターのデプロイメントニーズを満たすために不必要なノードを特定します。
- マシンの健全性チェックは、異常なマシンを置き換えるように設定されています。
-
-
マシンは
Deletingフェーズに入ります。このフェーズでは、マシンは削除対象としてマークされていますが、API にはまだ存在しています。 preDrainライフサイクルフックが存在する場合、それを管理するフック実装コントローラーは指定されたアクションを実行します。すべての
preDrainライフサイクルフックが満たされるまで、マシンのステータス条件DrainableはFalseに設定されます。-
未解決の
preDrainライフサイクルフックはなく、マシンのステータス条件DrainableがTrueに設定されています。 マシンコントローラーは、マシンによってサポートされているノードを drain しようとします。
-
drain が失敗した場合、
Drainedは、Falseに設定され、マシンコントローラーはノードの drain を再度試行します。 -
drain に成功すると、
DrainedはTrueに設定されます。
-
drain が失敗した場合、
-
マシンのステータス条件
DrainedはTrueに設定されます。 preTerminateライフサイクルフックが存在する場合、それを管理するフック実装コントローラーは指定されたアクションを実行します。すべての
preTerminateライフサイクルフックが満たされるまで、マシンのステータス条件TerminableはFalseに設定されます。-
未解決の
preTerminateライフサイクルフックはなく、マシンのステータス条件TerminableがTrueに設定されています。 - マシンコントローラーは、インフラストラクチャープロバイダーからインスタンスを削除します。
-
マシンコントローラーは
Nodeオブジェクトを削除します。