私はいくつかのバースト可能なポッドをクラスタ内で実行していますが、これはメモリ/ CPU圧迫の場合には殺されたくありません。Kubernetesのポッドの優先順位
優先度を上げる方法はありますか?そのため、名前空間を変更する必要はありません(重要なのはkube-systemです)、保存することができますか?
ポッドに優先度を追加することについては、issuesが見つかりました。しかし、解決策を理解できませんでした。優先順位を設定する方法があるはずですか、ここに大きなものがありませんか?
私はいくつかのバースト可能なポッドをクラスタ内で実行していますが、これはメモリ/ CPU圧迫の場合には殺されたくありません。Kubernetesのポッドの優先順位
優先度を上げる方法はありますか?そのため、名前空間を変更する必要はありません(重要なのはkube-systemです)、保存することができますか?
ポッドに優先度を追加することについては、issuesが見つかりました。しかし、解決策を理解できませんでした。優先順位を設定する方法があるはずですか、ここに大きなものがありませんか?
ポッド優先機能を使用すると、PodSpecにポッドの優先順位を追加することができ、前v1.8+
からv1.7
Kubernetesすることはできません。優先度値を持つPriorityClassオブジェクトを作成し、そのPriorityClass名をPodで使用する必要があります。
ただし、v1.9
まで、PriorityClassはまだアルファ相です。ここで
apiVersion: scheduling.k8s.io/v1alpha1
kind: PriorityClass
metadata:
name: high-priority
value: 1000000
globalDefault: false
、
value
は優先順位を示します。値が大きいほど優先度が高くなります。globalDefault
は、このPriorityClassの値をPriorityClassNameのないポッドに使用する必要があることを示します。 globalDefaultがtrueに設定されたPriorityClassは、システム内に1つしか存在できません。は今、この優先順位でどのノードが見つからない場合
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
priorityClassName: high-priority
プリエンプションポッドが作成されると、そのポッドの満たす指定されたすべての要件は、使用して
ことをポッドを作成することができますプリエンプションロジック1つ以上の低プライオリティポッドがノードから削除されます。ポッドがなくなると、優先度の高いポッドがノード上でスケジュールされます。
pod priorityについての詳細を参照してください。
私はあなたが参照している問題について正しいと思います。それは将来に行く方法です。 kube-system(クリティカルポッド)を使用したくない場合今、私が考えることができる最良の選択肢は、保証されたQoSで動作することです。 – ddysher