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
290
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
Datadog Network Monitoring を活用して NAT Gateway 課金を 80 % 削減した話
fohte
2
500
Trace Metrics と Istio Metrics でサービス健全性を監視する
fohte
0
390
段階的リリースを実現する kube canary
fohte
1
170
巨大 tfstate に立ち向かう技術
fohte
1
490
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
1.2k
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
3
2.1k
The Journey of rubocop-daemon into RuboCop
fohte
1
1.4k
Ruby as Shell script
fohte
1
610
rubocop-daemon 裏話: OSS の苦悩
fohte
2
670
Featured
See All Featured
Designing for Performance
lara
610
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Invisible Side of Design
smashingmag
301
51k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing Experiences People Love
moore
142
24k
4 Signs Your Business is Dying
shpigford
184
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Producing Creativity
orderedlist
PRO
346
40k
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