2022年1月15日土曜日

PriorityClassの検証

PriorityClass:
PriorityClassというリソースを利用することで、Node内でリソースオーバが発生した場合に
スケジューリングする優先順位を決めることができる。


検証イメージ図:























手順:


1)1GBのPodを4個デプロイします。

  ->既に割り当て済みのPodが稼働中なので、4つ目のPodPending状態になっていることが確認できる。







2)次にPriorityClassのマニュフェストを作成します。

今回、PriorityClassを”10”と”100”の2種類作成します


①valueに優先順位を表す値を記載する。

  ->数値が大きいほど、優先順位が高くなります。

(デフォルト値は、”0” です。)












②上記で作成したマニュフェストのmetadata(prioriity-10)を

priorityClassNameのフィールドに記載することで、割り当てが可能となります。

































上記と同様にprioriity100のパターンも作成します。











以下、Priority100のPod用のマニュフェスト

































3)上記のPriorityClassのマニュフェストをデプロイした状態が以下になります。

(割り当て可能なメモリーがないので、Pending状態がさらに追加された状態になる)









4)リソースが割り当て可能な状態に変更して、PriorityClassの優先順位を確認してみます。

PriorityClassの数値が100Podのスケジュールが優先されていることが以下で確認できます。







リソースオーバー時に追い出されるパターンの検証:


1)以下、PriorityClassの優先順位になる

Priority 200のPodの数を増やした場合、Priority 10が追い出されるか確認してみる。

①Priority 10

②Priority 100

③Priority 200






2)”Priority 200”のPodのデプロイが優先順位が高いので、”Priority 10”のPodが

自動で削除されているのが確認できる。





0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...