「3-shake SRE Tech Talk #7」で発表させていただいた LT の資料です。 https://3-shake.connpass.com/event/293432/
© 2023 Wantedly, Inc.k8s upgrade を楽にする工夫3-shake SRE Tech Talk #7Oct. 12 2023 - Hayato Kawai (@fohte)
View Slide
自己紹介© 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 EOL1.28 2023-09-26 2024-111.27 2023-05-24 2024-071.26 2023-04-11 2024-061.25 2023-02-22 2024-051.24 2022-11-15 2024-011.23 2022-08-11 2023-10-113 ヶ月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.
https://www.wantedly.com/projects/522096