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
240
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
380
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
950
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
3
1.3k
The Journey of rubocop-daemon into RuboCop
fohte
1
1.1k
Ruby as Shell script
fohte
1
530
rubocop-daemon 裏話: OSS の苦悩
fohte
2
600
RuboCop Server Mode の仕組み
fohte
1
290
Ruby を使ったプロダクト開発を支えるオブザーバビリティ基盤
fohte
2
150
インシデントコマンダーやってみた
fohte
5
1k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
A designer walks into a library…
pauljervisheath
205
24k
Designing for Performance
lara
604
68k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
Embracing the Ebb and Flow
colly
84
4.5k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Docker and Python
trallard
43
3.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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