Chuyển đến nội dung chính

レッスン 42: リソース管理とスケジューリング

Kubernetes リソースのリクエスト/制限、QoS クラス、LimitRange、ResourceQuota、ノード アフィニティ/アンチアフィニティ、テイントと許容、トポロジの広がり、スケジュールのベスト プラクティス。

🔒 DevSecOps — レッスン 42 レッスン 42: リソース管理とスケジュール

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 10: 導入パターンと展開自動スケーリング

xdev.asia_

🎯 レッスンの目的__HTMLTAG_66___
  • ✅ リソースリクエストと制限の詳細
  • ✅ QoS クラス (保証型、バースタブル、ベストエフォート)
  • ✅ LimitRange と ResourceQuota
  • ✅ ノード アフィニティ、反アフィニティ、汚染/許容
  • ✅ トポロジ スプレッド制約
  • ✅ ポッドの優先順位とプリエンプション

パート 1: リソースのリクエストと制限

コードブロック_0

QoS クラス条件_エビクション優先度
保証リクエスト == 制限 (すべてのコンテナ)最後に削除_
バースト可能リクエスト__HTMLTAG_109___中
ベストエフォートリクエストや制限なし_最初に立ち退き

コードブロック_1


パート 2: 制限範囲とリソース割り当て

コードブロック_2


パート 3: ノード アフィニティとアンチアフィニティ

コードブロック_3

コードブロック_4


パート 4: 汚染と寛容

コードブロック_5

コードブロック_6


パート 5: ポッドの優先順位と優先

コードブロック_7


💡 重要なポイント

  1. リクエスト: スケジュール保証。 制限: 硬い天井
  2. QoS: データベースでは保証され、アプリではバースト可能
  3. _LimitRange: コンテナごとのデフォルト/最大値。 リソースクォータ: 名前空間ごとの合計
  4. トポロジの広がり: ノード/ゾーン間で均等に分散
  5. Taints: 特定のワークロード専用のノード
  6. 優先度: 重要なサービスがバッチ ジョブをプリエンプト

🎯 演習__HTMLTAG_171___

演習 1: リソース ガバナンス__HTMLTAG_173___
  • 名前空間の LimitRange と ResourceQuota を作成__HTMLTAG_176___
  • リソースなしでポッドをデプロイ → デフォルトが適用されていることを確認
  • 割り当てを超過 → ポッドが拒否されたことを確認

演習 2: スケジュール

  • データベース ワークロード用の Taint 2 ノード
  • _6 レプリカ展開用のトポロジ スプレッドの構成__HTMLTAG_188___
  • _優先クラスの作成、プリエンプションのテスト__HTMLTAG_190___

📚 次の投稿

__HTMLTAG_196___レッスン 43: マルチテナントと名前空間の分離 では、共有クラスターにマルチテナント アーキテクチャを実装します。