Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
k8s upgrade を 楽にする工夫
Search
Hayato Kawai
October 12, 2023
0
220
k8s upgrade を 楽にする工夫
「3-shake SRE Tech Talk #7」で発表させていただいた LT の資料です。
https://3-shake.connpass.com/event/293432/
Hayato Kawai
October 12, 2023
Tweet
Share
More Decks by Hayato Kawai
See All by Hayato Kawai
巨大 tfstate に立ち向かう技術
fohte
1
280
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
860
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
2
790
The Journey of rubocop-daemon into RuboCop
fohte
1
1k
Ruby as Shell script
fohte
1
470
rubocop-daemon 裏話: OSS の苦悩
fohte
2
560
RuboCop Server Mode の仕組み
fohte
1
270
Ruby を使ったプロダクト開発を支えるオブザーバビリティ基盤
fohte
2
130
インシデントコマンダーやってみた
fohte
5
1k
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Documentation Writing (for coders)
carmenintech
65
4.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Code Reviewing Like a Champion
maltzj
520
39k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Building an army of robots
kneath
302
43k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Six Lessons from altMBA
skipperchong
27
3.5k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Transcript
© 2023 Wantedly, Inc. k8s upgrade を 楽にする工夫 3-shake SRE
Tech Talk #7 Oct. 12 2023 - Hayato Kawai (@fohte)
自己紹介 © 2023 Wantedly, Inc. 名前 川井 颯人 (@fohte) 所属
ウォンテッドリー株式会社 Infrastructure Squad (2023/03〜)
今日伝えたいこと k8s upgrade は 日々の運用改善が大事 © 2023 Wantedly, Inc.
k8s upgrade してますか? © 2023 Wantedly, Inc.
EKS (k8s) のバージョンアップはすぐに来る © 2023 Wantedly, Inc. Kubernetes version Amazon
EKS release EOL 1.28 2023-09-26 2024-11 1.27 2023-05-24 2024-07 1.26 2023-04-11 2024-06 1.25 2023-02-22 2024-05 1.24 2022-11-15 2024-01 1.23 2022-08-11 2023-10-11 3 ヶ月 3 ヶ月 2 ヶ月 1 ヶ月 4 ヶ月 https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
k8s upgrade は日々の改善が大事 Wantedly での k8s upgrade を 楽にする工夫を紹介します ©
2023 Wantedly, Inc.
k8s upgrade でほぼ毎回発生する大変なところ • API version の廃止 • cluster addon
の upgrade © 2023 Wantedly, Inc.
k8s upgrade でほぼ毎回発生する大変なところ API version の廃止 • API version が廃止されると、各マイクロサービスの
manifest を変更する必要がある ◦ Wantedly ではマイクロサービスが数百個ある 😇 © 2023 Wantedly, Inc.
k8s upgrade でほぼ毎回発生する大変なところ cluster addon の upgrade • cluster addon
のバージョンも k8s とともに上げる必要がある ◦ 例: Istio 1.16 では k8s 1.22〜1.26 しかサポートしていない => k8s 1.27 に上げるときは Istio も 1.17 以上に上げる © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫 • manifest テンプレートを各マイクロサービスに配布 • Argo CD で
manifest 自動適用 • Helm (Helmfile) で manifest 生成 • Renovate で upgrade PR を自動生成 © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫 manifest テンプレートを各マイクロサービスに配布 • 各マイクロサービスの manifest のテンプレートを用意 ◦
deployment, service などアプリケーションに必要な manifest は共通化 ◦ API version 更新したい => テンプレートの manifest を更新するだけ • テンプレート更新 => 各マイクロサービスで PR が自動作成される ◦ あとは PR を merge するだけ © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫 Argo CD で manifest 自動適用 • 各マイクロサービスで
Argo CD を導入 ◦ テンプレートを更新 => PR を merge だけで自動反映 🚀 • cluster addon も Argo CD を現在進行系で導入中 © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫 Helm (Helmfile) で manifest 生成 • cluster
addon は Helm で manifest を管理している ◦ Helm chart が cluster addon に必要な manifest を作成してくれる ◦ Helm chart のバージョンを上げれば cluster-addon を upgrade できる 🎉 © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫 Renovate で upgrade PR を自動生成 • Helm
chart の upgrade を Renovate にしてもらう ◦ cluster addon の upgrade に伴う manifest 生成が自動化 🎉 ◦ あとは changelog を確認 => テスト環境で検証 => 本番に適用 🚀 © 2023 Wantedly, Inc.
k8s upgrade を楽にする工夫の効果 工夫したことによる効果 • API version 廃止の対応に手間取ることがなくなった 🎉 •
cluster addon を日頃から upgrade できるようになった 🎉 ◦ 普段から Renovate PR で upgrade がしやすい 🚀 ◦ => k8s upgrade 時に急いで cluster addon を upgrade しなくてよい 👍 © 2023 Wantedly, Inc.
今日伝えたいこと k8s upgrade は 日々の運用改善が大事 © 2023 Wantedly, Inc.
https://www.wantedly.com/projects/522096