Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

"AKSのアップグレードに失敗しない漢"への道/failure-of-upgrade-i...

Avatar for AEON AEON
December 15, 2025
150

 "AKSのアップグレードに失敗しない漢"への道/failure-of-upgrade-is-not-an-option

ファインディ株式会社イベント「マネージドKubernetes運用戦記 − AKS・GKE・EKS、それぞれのリアルと最適解」での登壇資料です。

https://findy.connpass.com/event/375232/

Avatar for AEON

AEON

December 15, 2025
Tweet

More Decks by AEON

Transcript

  1. 基本的なアップグレード戦略(バージョン) • patch(x.y.zのz)のアップグレードも原則実施 o ここは自動アップグレード(aksManagedAutoUpgradeSchedule: patch) • Long Term Supportを利用しているか?

    https://learn.microsoft.com/ja-jp/azure/aks/long-term-support o 利用しない方針 o ツール(オブザーバビリティツールなど)への影響を考えたくない o 1回のアップグレードでの差分が大きくなるのでリスクが大きくなる o 普通に新機能を使いたい
  2. • ⼀般的に、in-placeとblue/greenの2つの⽅式がある。 o in-place § 同⼀クラスタ内でRolling Upgradeをする § ノードの作成、削除が発⽣する。その際に、podなどが退避される。 o

    blue/green § 新しいバージョンのクラスタを 作成しトラフィックを切り替え アップグレードの実施⽅法(切替) https://learn.microsoft.com/ja-jp/azure/architecture/guide/aks/blue-green-deployment-for-aks
  3. • ASTでは、クラスタによって実施⽅法を分けている。 • 原則はin-placeに寄せてきている in-placeとblue/greenの選択するための比較軸 アップグレードの実施⽅法(切替) ⽅式 in-place blue/green 作業コスト

    ◦ ×(クラスタの構築、トラフィック切替の準備) 切替時間 △(アプリケーションの起動時間やクラ スタの設定次第) ◦(当⽇切り替えるだけ。加重ルーティングの 設定次第だが、⼀般的にin-placeよりは早い) Rollbackの可否 × ◦ 切り替えの制約 ×(1バージョンずつ) ◦ 作業時の サービス影響 △(退避時に一時的にキャパシティが落ち る) ◦
  4. 失敗しない漢になるためのチューニングポイント cluster/pod周りに関する設定 • max surge sizeの設定 (ノード サージ アップグレードのカスタマイズ) o

    Microsoftの推奨は33%だが、慎重めに10%で設定。 • pdbの設定 o maxUnavailable:10%で設定 • graceful shutdown/prestop hookの設定 • 参考: アップグレードを最適化してパフォーマンスを改善し、中断を最⼩限に抑える
  5. つまずき(1): アップグレード以前に⾊々な伸び代が‧‧‧ • probe設定が⾜りてなくてエラーポコポコ • graceful shutdownしていないのでエラーポコポコ • 使われていないアプリケーションが放置されているため起動せず、アップグレード失敗 •

    デフォルトで1台ずつsurgeしていたためクラスターの台数が多いと時間が⾮常にかかる。 • pdbの設定がされていないのでエラーポコポコ • 設定したpdbが邪魔をしてアップグレード進まない。 アップグレードに関係ない、運⽤上の改善ポイントも多かった
  6. つまずき(3): Docker Hubのrate limitに引っかかる • Docker Hubのrate limitは以前より⾏われていたが、Microsoft社とDocker社間の契約に より暫く影響がなかったものの、2024年に終了。 •

    その後のアップグレードのタイミングでDocker Hubからpullしていたイメージが軒並み失 敗に😇 • 対処: Docker Hubのrate limit対策としてACRのキャッシュ機能を活⽤する
  7. 今後の期待(1) : Fleet Manager Approval gates for update runs[Public Preview]

    • Fleet Manager… 複数のAKSクラスターをまとめて管理する機能 • ステージ設定をすることでアップグレードを段階的に実施設定できる • これまでは次のステージに進むまでの待ち時間設定のみだったが、承認ゲート機能が追加 ここに承認ゲート機能が追加される Azure Kubernetes Fleet Manager を使用して再利用可能な更新戦略を定義する
  8. まとめ: アップグレードの練度を上げるために • アップグレードそのものよりも普段の運⽤を改善できているか?に⽬を向けることでアッ プグレードに対する不安を解消する o オブザーバビリティ、 IaC 、クラスター設定、 manifest

    file 、 CI/CDパイプライン o 失敗、問題の検知 o いざとなれば作り直せる⼤⼈の余裕 • 適切にマネージドサービスの進化に乗っていく • 組織やサービスのスケールのために⾃動アップグレードを前提として、上記に継続的に取 り組む
  9. • イオンスマートテクノロジーで実践しているAKSアップグレード戦略 • AKS Engineering Blog • AKS Roadmap •

    AKS Youtube • Microsoft Ignite 2025のまとめ〜AKS編〜 • Microsoft Ignite 2025のまとめ〜AKS編2〜 参考資料