4.9.3. descheduler を使用した Pod の退避
Kube Descheduler Operator をインストールし、必要なプロファイルやその他のカスタマイズを設定することで、OpenShift Container Platform でデスケジューラーを実行できます。
4.9.3.1. descheduler のインストール リンクのコピーリンクがクリップボードにコピーされました!
descheduler はデフォルトで利用できません。descheduler を有効にするには、Kube Descheduler Operator を OperatorHub からインストールし、1 つ以上の descheduler プロファイルを有効にする必要があります。
デフォルトで、descheduler は予測モードで実行されます。つまり、これは Pod エビクションのみをシミュレートします。Pod エビクションを実行するには、descheduler のモードを automatic に変更する必要があります。
クラスターで Hosted Control Plane を有効にしている場合は、カスタムの優先度しきい値を設定して、Hosted Control Plane の namespace 内の Pod がエビクトされる可能性を低くしてください。優先度しきい値のクラス名を hypershift-control-plane に設定してください。このクラス名は、Hosted Control Plane の優先度クラスの中で、最も低い優先度値 (100000000) を持っているためです。
前提条件
-
cluster-adminロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
手順
- OpenShift Container Platform Web コンソールにログインします。
Kube Descheduler Operator に必要な namespace を作成します。
-
Administration
Namespaces に移動し、Create Namespace をクリックします。 -
Name フィールドに
openshift-kube-descheduler-operatorを入力し、Labels フィールドにopenshift.io/cluster-monitoring=trueを入力して descheduler メトリクスを有効にし、Create をクリックします。
-
Administration
Kube Descheduler Operator をインストールします。
-
Operators
OperatorHub に移動します。 - Kube Descheduler Operator をフィルターボックスに入力します。
- Kube Descheduler Operator を選択し、Install をクリックします。
- Install Operator ページで、A specific namespace on the cluster を選択します。ドロップダウンメニューから openshift-kube-descheduler-operator を選択します。
- Update Channel および Approval Strategy の値を必要な値に調整します。
- Install をクリックします。
-
Operators
descheduler インスタンスを作成します。
-
Operators
Installed Operators ページから、Kube Descheduler Operator をクリックします。 - Kube Descheduler タブを選択し、Create KubeDescheduler をクリックします。
必要に応じて設定を編集します。
- エビクションをシミュレーションせずに Pod をエビクトするには、Mode フィールドを Automatic に変更します。
Profiles セクションを展開し、1 つ以上のプロファイルを選択して有効にします。
AffinityAndTaintsプロファイルはデフォルトで有効になっています。Add Profile をクリックして、追加のプロファイルを選択します。注記TopologyAndDuplicatesとSoftTopologyAndDuplicatesの両方を有効にしないでください。両方を有効にすると、競合が生じます。オプション: Profile Customizations セクションを拡張して、Descheduler の任意の設定を行います。
-
LifecycleAndUtilizationプロファイルのカスタム Pod ライフタイム値を設定します。podLifetime フィールドを使用して、数値と有効な単位 (s、m、またはh) を設定します。デフォルトの Pod の有効期間は 24 時間 (24h) です。 カスタム優先度しきい値を設定して、Pod の優先度が指定された優先度レベルよりも低い場合にのみ、Pod をエビクション対象と見なします。thresholdPriority フィールドを使用して数値の優先度しきい値を設定するか、thresholdPriorityClassName フィールドを使用して特定の優先度クラス名を指定します。
注記デスケジューラーに thresholdPriority と thresholdPriorityClassName の両方を指定しないでください。
-
デスケジューラー操作から除外または含める特定の namespace を設定します。namespaces フィールドを展開し、namespace を 除外 リストまたは 包含 リストに追加します。除外する namespace のリストまたは追加する namespace のリストのみを設定できます。保護されている namespace (
openshift-*、kube-system、hypershift) はデフォルトで除外されることに注意してください。 実験的:
LowNodeUtilizationストラテジーの使用率および過度化のしきい値を設定します。devLowNodeUtilizationThresholds フィールドを使用して、以下のいずれかの値を設定します。-
Low: 10% が十分に活用されておらず、30% が過剰に活用されている -
Medium: 20% が十分に活用されておらず、50% が過剰に活用されている -
High: 40% が十分に活用されておらず、70% が過剰に活用されている
注記この設定は実験段階にあり、実稼働環境では使用しないでください。
-
-
-
オプション: Descheduling Interval Seconds フィールドを使用して、Descheduler の実行間の秒数を変更します。デフォルトは
3600秒です。
- Create をクリックします。
また、後で OpenShift CLI (
oc) を使用して、Descheduler のプロファイルおよび設定を設定することもできます。Web コンソールから Descheduler インスタンスを作成する際にプロファイルを調整しない場合、AffinityAndTaintsプロファイルはデフォルトで有効にされます。-
Operators