4.9.3. descheduler を使用した Pod の退避
Kube Descheduler Operator をインストールし、必要なプロファイルやその他のカスタマイズを設定することで、OpenShift Container Platform 上でデスケジューラーを実行できます。
4.9.3.1. descheduler のインストール リンクのコピーリンクがクリップボードにコピーされました!
descheduler はデフォルトで利用できません。descheduler を有効にするには、ソフトウェアカタログから Kube Descheduler Operator をインストールし、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 をインストールします。
-
Ecosystem
Software Catalog に移動します。 - Kube Descheduler Operator をフィルターボックスに入力します。
- Kube Descheduler Operator を選択し、Install をクリックします。
- Install Operator ページで、A specific namespace on the cluster を選択します。ドロップダウンメニューから openshift-kube-descheduler-operator を選択します。
- Update Channel および Approval Strategy の値を必要な値に調整します。
- Install をクリックします。
-
Ecosystem
descheduler インスタンスを作成します。
-
Ecosystem
Installed Operator ページから、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 時間 (24 h) です。 カスタム優先度しきい値を設定して、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プロファイルはデフォルトで有効にされます。-
Ecosystem