2017-09-18 16 views
3

私はいくつかのバースト可能なポッドをクラスタ内で実行していますが、これはメモリ/ CPU圧迫の場合には殺されたくありません。Kubernetesのポッドの優先順位

優先度を上げる方法はありますか?そのため、名前空間を変更する必要はありません(重要なのはkube-systemです)、保存することができますか?

ポッドに優先度を追加することについては、issuesが見つかりました。しかし、解決策を理解できませんでした。優先順位を設定する方法があるはずですか、ここに大きなものがありませんか?

+0

私はあなたが参照している問題について正しいと思います。それは将来に行く方法です。 kube-system(クリティカルポッド)を使用したくない場合今、私が考えることができる最良の選択肢は、保証されたQoSで動作することです。 – ddysher

答えて

2

ポッド優先機能を使用すると、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についての詳細を参照してください。

関連する問題