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
550
Trace Metrics と Istio Metrics でサービス健全性を監視する
fohte
0
400
段階的リリースを実現する kube canary
fohte
1
190
巨大 tfstate に立ち向かう技術
fohte
1
730
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
1.2k
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
3
2.3k
The Journey of rubocop-daemon into RuboCop
fohte
1
1.4k
Ruby as Shell script
fohte
1
620
rubocop-daemon 裏話: OSS の苦悩
fohte
2
680
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Building Adaptive Systems
keathley
43
2.7k
Bash Introduction
62gerente
613
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
GraphQLとの向き合い方2022年版
quramy
49
14k
Documentation Writing (for coders)
carmenintech
72
4.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Scaling GitHub
holman
461
140k
GitHub's CSS Performance
jonrohan
1031
460k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Orchestrator
shlominoach
189
11k
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