This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.2. ノードの使用
管理者として、クラスターの効率をさらに上げる多数のタスクを実行することができます。
4.2.1. ノード上の Pod を退避させる方法
Pod を退避させると、所定のノードからすべての Pod または選択した Pod を移行できます。
退避させることができるのは、レプリケーションコントローラーが管理している Pod のみです。レプリケーションコントローラーは、他のノードに新しい Pod を作成し、指定されたノードから既存の Pod を削除します。
ベア Pod、つまりレプリケーションコントローラーが管理していない Pod はデフォルトで影響を受けません。Pod セレクターを指定すると Pod のサブセットを退避できます。Pod セレクターはラベルに基づくので、指定したラベルを持つすべての Pod を退避できます。
Pod の退避を実行するときは、先にノードをスケジュール対象外としてマークする必要があります。
$ oc adm cordon <node1> node/<node1> cordoned $ oc get node <node1> NAME STATUS ROLES AGE VERSION <node1> NotReady,SchedulingDisabled worker 1d v1.17.1
完了したら、oc adm uncordon
を使ってノードをスケジュール対象としてマークします。
$ oc adm uncordon <node1>
以下のコマンドは、1 つまたは複数のノードのすべてのまたは選択した Pod を退避します。
$ oc adm drain <node1> <node2> [--pod-selector=<pod_selector>]
以下のコマンドは、
--force
オプションを使用してベア Pod の削除を強制的に実行します。true
に設定されると、Pod がレプリケーションコントローラー、レプリカセット、ジョブ、デーモンセット、またはステートフルセットで管理されていない場合でも削除が続行されます。$ oc adm drain <node1> <node2> --force=true
以下のコマンドは、
--grace-period
を使用して、各 Pod を正常に終了するための期間 (秒単位) を設定します。負の値の場合には、Pod に指定されるデフォルト値が使用されます。$ oc adm drain <node1> <node2> --grace-period=-1
以下のコマンドは、
true
に設定された--ignore-daemonsets
フラグを使用して、デーモンセットが管理する Pod を無視します。$ oc adm drain <node1> <node2> --ignore-daemonsets=true
以下のコマンドは、
--timeout
フラグを使用して、中止する前の待機期間を設定します。値0
は無限の時間を設定します。$ oc adm drain <node1> <node2> --timeout=5s
以下のコマンドは、
true
に設定された--delete-local-data
フラグを使用して、emptyDir を使用する Pod がある場合にも Pod を削除します。ローカルデータはノードがドレイン (解放) される場合に削除されます。$ oc adm drain <node1> <node2> --delete-local-data=true
以下のコマンドは、
true
に設定された--dry-run
オプションを使用して、退避を実行せずに移行するオブジェクトを一覧表示します。$ oc adm drain <node1> <node2> --dry-run=true
特定のノード名 (例:
<node1> <node2>
) を指定する代わりに、--selector=<node_selector>
オプションを使用し、選択したノードで Pod を退避することができます。