PriorityClass:
PriorityClassというリソースを利用することで、Node内でリソースオーバが発生した場合に
スケジューリングする優先順位を決めることができる。
検証イメージ図:
手順:
1)1GBのPodを4個デプロイします。
->既に割り当て済みのPodが稼働中なので、4つ目のPodがPending状態になっていることが確認できる。
2)次にPriorityClassのマニュフェストを作成します。
今回、PriorityClassを”10”と”100”の2種類作成します
①valueに優先順位を表す値を記載する。
->数値が大きいほど、優先順位が高くなります。
(デフォルト値は、”0” です。)
②上記で作成したマニュフェストのmetadata(prioriity-10)を
priorityClassNameのフィールドに記載することで、割り当てが可能となります。
③上記と同様にprioriity100のパターンも作成します。
以下、Priority100のPod用のマニュフェスト
3)上記のPriorityClassのマニュフェストをデプロイした状態が以下になります。
(割り当て可能なメモリーがないので、Pending状態がさらに追加された状態になる)
4)リソースが割り当て可能な状態に変更して、PriorityClassの優先順位を確認してみます。
PriorityClassの数値が100のPodのスケジュールが優先されていることが以下で確認できます。
リソースオーバー時に追い出されるパターンの検証:
1)以下、PriorityClassの優先順位になる
Priority 200のPodの数を増やした場合、Priority 10が追い出されるか確認してみる。
①Priority 10
②Priority 100
③Priority 200
2)”Priority 200”のPodのデプロイが優先順位が高いので、”Priority 10”のPodが
自動で削除されているのが確認できる。
0 件のコメント:
コメントを投稿