kubernetesの規模
4clusters
100+ deployments
500+ pods
5developer teams
Slide 11
Slide 11 text
基本的なアップグレード戦略(バージョン)
• minorバージョン(x.y.zのy)のn-2 がサポート対象
o つまり約半年に1回アップグレードを実施している
o ASTは有史以来アップグレードを継続して実施してきた(えらい)
• 現在は、1.27で稼働中
• ※AKSとkubernetesのバージョンの
サポート期間は⼀致していないことに注意
原則的にMicorsoft社の推奨に従う。
Azure Kubernetes Service (AKS) でサポートされている Kubernetes のバージョン
Slide 12
Slide 12 text
基本的なアップグレード戦略(バージョン)
• patch(x.y.zのz)のアップグレードも原則実施
o ここは⾃動アップグレード(aksManagedAutoUpgradeSchedule: patch)
• Long Term Supportを利⽤しているか?
https://learn.microsoft.com/ja-jp/azure/aks/long-term-support
o 利⽤しない⽅針
o ツール(observabilityツールなど)への影響を考えたくない
o 1回のアップグレードでの差分が⼤きくなるのでリスクが⼤きくなる
o 普通に新機能を使いたい
アップグレードを安⼼し、⾃信を持って実施するための準備
Cluster/pod設定
• max surge sizeの設定 (ノード サージ アップグレードのカスタマイズ)
o Microsoftの推奨は33%だが、慎重めに10%で設定。今後徐々に上げていきたい
o ポータルからは設定できないので⾒落としがち。ASTではTerraformで設定
• pdbの設定
o maxUnavailable:10%で設定
• graceful shutdown/prestop hookの設定
Slide 19
Slide 19 text
アップグレードを安⼼し、⾃信を持ってやるための準備
patchバージョンの⾃動アップグレード設定
• 「aksManagedClusterAutoUpgradeSchedule」の設定⽅針
o 失敗、異常時に検知‧リカバリ対応を早くするため、平⽇⽇中帯に設定
o 1⽇のピーク時間を避ける。
o 繁忙⽇‧繁忙曜⽇を避ける
https://learn.microsoft.com/ja-jp/azure/aks/planned-maintenance
AKSのアップグレードは本当に⼤変なのか?
• オペレーション⾃体は⼤したことない
o AKSというマネージドサービスの恩恵
• ⼤変だと思ったり、リスクを恐れるのは本当にアップグレードに対してなのか?
必要なのは‧‧‧
• 焦らず練度を上げていく
• 練度を上げていくには JUST DO IT
Slide 23
Slide 23 text
AKS運⽤の練度を上げていくために‧‧‧
安⼼して失敗できる状況を作ることが⼤切
• 失敗、問題を検知できること
o observabilityの向上
• 失敗時のリカバリ
o クラスタをいつでもIaCで作り直せる⼤⼈の余裕
o アプリケーションをCI/CDパイプラインでいつでもデプロイし直せる⼤⼈の余裕
o 追加ツールをCI/CDパイプラインでいつでもデプロイし直せる⼤⼈の余裕
⼤切なことは、普段の運⽤のブラッシュアップと重なることが多い