Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PodのAZ分散を実現する Pod Topology Spread ConstraintsとDescheduler

ksudate
February 15, 2022

PodのAZ分散を実現する Pod Topology Spread ConstraintsとDescheduler

Kubernetes Novice Tokyo #16 (https://k8s-novice-jp.connpass.com/event/236328/) のLT枠の登壇資料です。

ksudate

February 15, 2022
Tweet

More Decks by ksudate

Other Decks in Programming

Transcript

  1. PodのAZ分散を実現する Pod Topology Spread Constraintsと Descheduler 
 Kubernetes Novice Tokyo

    #16 2022/02/15 株式会社ZOZO 技術本部 SRE部 ECプラットフォーム基盤SREブロック 巣立健太郎 Copyright © ZOZO, Inc.
  2. © ZOZO, Inc. 株式会社ZOZO 技術本部 SRE部 ECプラットフォーム基盤SREブロック 巣立 健太郎 新卒SREとして、

    ZOZOTOWNリプレイスプロジェクトに参画 Kubernetes歴はもうすぐ1年 Twitter: @tmrekk_ 
 
 2
  3. © ZOZO, Inc. https://zozo.jp/ 3 • ファッション通販サイト • 1,500以上のショップ、8,400以上のブランドの取り扱い •

    常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品を掲載(2021年12月末時点) • ブランド古着のファッションゾーン「ZOZOUSED」や コスメ専門モール「ZOZOCOSME」、靴の専門モール 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 • 即日配送サービス • ギフトラッピングサービス • ツケ払い など
  4. © ZOZO, Inc. https://wear.jp/ 4 • ファッションコーディネートアプリ • 1,500万ダウンロード突破、コーディネート投稿総数は1,200万 件以上(2021年12月末時点)

    • ピックアップタグから最新のトレンドをチェック • コーディネート着用アイテムを公式サイトで購入可能 • WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレン ト・デザイナー・インフルエンサーといった各界著名人も参加
  5. © ZOZO, Inc. 5 今回話すこと • Pod Topology Spread Constraintsとは

    • Pod Topology Spread Constraints導入における課題 • Deschedulerとは
  6. © ZOZO, Inc. 13 • maxSkew • topologyKey • whenUnsatisfiable

    • labelSelector Pod Topology Spread Constraintsとは
  7. © ZOZO, Inc. 14 • maxSkew • topologyKey • whenUnsatisfiable

    • labelSelector Pod Topology Spread Constraintsとは
  8. © ZOZO, Inc. 18 • maxSkew • topologyKey • whenUnsatisfiable

    • labelSelector Pod Topology Spread Constraintsとは
  9. © ZOZO, Inc. 20 • maxSkew • topologyKey • whenUnsatisfiable

    • labelSelector Pod Topology Spread Constraintsとは
  10. © ZOZO, Inc. 21 whenUnsatisfiable 条件に合致するNODEがない場合のPODの挙動を設定可能 • DoNotSchedule 条件に合致しない場合、PODがスケジュールされることはない •

    ScheduleAnyway 条件に合致しない場合、Skewを最小化するNODEに優先的に スケジュールする Pod Topology Spread Constraintsとは
  11. © ZOZO, Inc. 23 • maxSkew • topologyKey • whenUnsatisfiable

    • labelSelector Pod Topology Spread Constraintsとは
  12. © ZOZO, Inc. 25 Pod Topology Spread Constraints導入における課題 Pod Topology

    Spread Constraintsを使ってPODのzone分散を実現することができた しかし、Pod Topology Spread Constraintsはスケジュール済みのPODが均等に配置して いるかどうかを制御することはない
  13. © ZOZO, Inc. 32 まとめ • Pod Topology Spread Constraints

    ◦ region・zone・NODEなどの単位でPODを分散して配置することで高い可用性を実現 • Descheduler ◦ スケジュール済のPODを他のNODEに移動させたい場合に、PODをEvictすることで再度スケ ジュールさせることが可能 ◦ EvictするPODはPolicyによって定義可能で、Pod Topology Spread Constraints用のPolicyも 用意されている