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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for ksudate ksudate
February 15, 2022

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

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

Avatar for ksudate

ksudate

February 15, 2022

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も 用意されている