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
280
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
480
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.3k
Ruby as Shell script
fohte
1
600
rubocop-daemon 裏話: OSS の苦悩
fohte
2
670
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
A designer walks into a library…
pauljervisheath
207
24k
Bash Introduction
62gerente
614
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
BBQ
matthewcrist
89
9.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
How GitHub (no longer) Works
holman
314
140k
Designing for Performance
lara
609
69k
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