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
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい / FamilyA...
Search
kohbis
January 25, 2024
Technology
2
1.7k
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい / FamilyAlbum EKS Continuous Improvement
Kubernetes活用の手引き 私たちの基盤構築・運用事例 Lunch LT
https://findy.connpass.com/event/307447/
kohbis
January 25, 2024
Tweet
Share
More Decks by kohbis
See All by kohbis
Custom Prometheus Exporterによる オブザーバビリティ拡張 / Extending observability with Custom Prometheus Exporter
kohbis
1
49
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
5
1.2k
SREコミュニティイベントとわたし / Me and SRE community events
kohbis
1
160
サクッと試すNew Relic Kubernetes APM auto-attach / New Relic Kubernetes APM auto-attach
kohbis
0
320
悩ましきインシデント管理 みてねのケース / Incident management is a tough
kohbis
2
720
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
3.1k
1,800万人が利用する『家族アルバム みてね』におけるK8s基盤のアップグレード戦略と継続的改善 / FamilyAlbum's upgrade strategy and continuous improvement for K8s infrastructure
kohbis
5
4.1k
『家族アルバム みてね』の安定リリースを支えるEKS運用 / FamilyAlbum release-flow on EKS
kohbis
2
1.5k
『家族アルバム みてね』 AWSマルチリージョン構成における データベース運用 / FamilyAlbum Database in AWS multi-region
kohbis
5
3.1k
Other Decks in Technology
See All in Technology
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
3
340
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
200
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
130
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
2
570
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
1k
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
1
120
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
660
LINE 購物幕後推手
line_developers_tw
PRO
0
420
2025-04-14 Data & Analytics 井戸端会議 Multi tenant log platform with Iceberg
kamijin_fanta
1
180
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
9
2.4k
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
130
Part2 GitHub Copilotってなんだろう
tomokusaba
2
720
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.5k
Faster Mobile Websites
deanohume
307
31k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Building an army of robots
kneath
305
45k
Build your cross-platform service in a week with App Engine
jlugia
230
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Optimizing for Happiness
mojombo
378
70k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
780
Transcript
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい @kohbis Kubernetes活用の手引き 私たちの基盤構築・運用事例 Lunch LT 2024/01/25
MIXI, Inc. About Me • SIer (Infra/Backend) ➡ Startup (Backend/Frontend)
➡ いま • 最近マネージャーがくれたラズパイ2台をおうちクラスタに組み込んだ Kohei SUGIMOTO 株式会社MIXI 2022/04 ~『家族アルバム みてね』 SRE X/GitHub: @kohbis (sushimoto)
MIXI, Inc. 本日お話しすること • 「そこまで大規模じゃない」EKS環境をできるだけ頑張らずに最新化し続けるために 『家族アルバム みてね』がやっていること • このスライドにおける ◦
大規模 …IaaS基盤、10~以上のマイクロサービス ◦ 大規模じゃない … ひとつのサービス基盤、数個のマイクロサービス • 「最新化」対象 ◦ EKSクラスタバージョン ◦ Helmパッケージのバージョン
MIXI, Inc. 『家族アルバム みてね』とは スマホで撮ったお子さまの写真・動画を家族で共有し コミュニケーションして楽しむ家族アルバムサービス 「世界中の家族の”こころのインフラ”を作る」 • 現在7言語・175の国と地域でサービスを提供 •
2023年11月に利用者数が2,000万人を突破 ※1 ※1 iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計
MIXI, Inc. 『家族アルバム みてね』のKubernetes構成 • 運用しはじめて大体3年くらい • Amazon EKS v1.27
• Helm chartsによる構成管理 • Argo CDによるGitOps • Ingress-NGINX Controller, Cluster Autoscaler, Prometheus, KEDA, Grafana, Argo Workflows etc. ◦ 約30ほどのHelmパッケージを利用 多いときで18,000Pods、少ないときで2,000Pods(2023/12時点)
MIXI, Inc. EKSクラスタバージョンの アップデート
MIXI, Inc. EKSクラスタバージョンのアップデート https://speakerdeck.com/kohbis/familyalbums-upgrade-strategy-and-continuous-improvement-for-k8s-infrastructure
MIXI, Inc. EKSクラスタのBlue/Green戦略による無停止アップグレード • みてねはAWSマルチリージョン構成 • 複数リージョンにEKSクラスタが存在 各リージョンに新バージョンのクラスタ作成 ▼ ALBの加重ルーティングで徐々にトラフィック
移行 ▼ メトリクス監視に異常がなければ完全移行 加重ルーティングで 徐々に移行 Route53 レイテンシーベース ルーティング https://speakerdeck.com/kohbis/familyalbums-upgrade-strategy-and-continuous-improvement-for-k8s-infrastructure?slide=12
MIXI, Inc. Argo CDと『みてね』サービスのクラスタ分割 https://speakerdeck.com/kohbis/familyalbums-upgrade-strategy-and-continuous-improvement-for-k8s-infrastructure?slide=27
MIXI, Inc. Helmパッケージの アップデート
MIXI, Inc. Helmパッケージのアップデート 数十個ある&これから増えるであろうHelmパッケージの更新を追い続けるのは大変 放置すればするほど適用のための修正コストが高くなる Helmパッケージの更新を検知する まずはこれを(楽して)やりたい ▼ Release notes,
CHANGELOG.md, Artifact Hubで更新内容を確認 ▼ 開発環境に適用して問題ないことを確認 ▼ 本番環境に適用
MIXI, Inc. Renovate Botの活用 ※1 • 言語やパッケージの依存関係を自動解決 ◦ Package Managers
から選択(複数可)※2 • 設定はリポジトリルートのrenovate.jsonに記述 • ルールを柔軟にカスタムすることが可能 ◦ 例)リリースからxx日たったら安定版と見なしてPRを起票 依存パッケージやcharts内のDockerイメージタグを最新化したPRを起票 ちなみにGitHubのDependabotでは議論中 ※3 ※1 https://github.com/renovatebot/renovate ※2 https://docs.renovatebot.com/modules/manager/ ※3 https://github.com/dependabot/dependabot-core/issues/2237
MIXI, Inc. Renovatebotの活用 - Dependency Dashboard
MIXI, Inc. Deprecated/Removed APIの検知
MIXI, Inc. Deprecated/Removed APIの検知 K8sのAPIはKubernetes Deprecation Policyに沿って非推奨/削除される ※1 ▼ もしあればDeprecated
API Migration Guideに従って更新する ※2 (どのくらい対応が必要かはAPIによる) ▼ (開発環境で確認するはずだが)「デプロイしようとしてから気づく」は避けたい Helmパッケージで導入するchartsは大体解決されている 自分たちで書いたテンプレートに存在しないかを(楽して)検知したい ※1 https://kubernetes.io/docs/reference/using-api/deprecation-policy/ ※2 https://kubernetes.io/docs/reference/using-api/deprecation-guide/
MIXI, Inc. Plutoの活用 ※1 • 非推奨/削除APIを検知するCLIツール ◦ GitHub ActionsなどCIでPRごとや定期実行できる •
稼働中のクラスタ、ローカルのHelm chartsいずれにも対応 ▼検知なし (Exit Code 0) ▼検知あり (Exit Code 2: deprecated, 3: removed etc. ※2) ※1 https://github.com/FairwindsOps/pluto ※2 https://github.com/FairwindsOps/pluto/blob/master/docs/advanced.md#ci-pipelines
MIXI, Inc. Amazon EKS - Upgrade Insights ※1 • 2023年12月末にGA
• EKSクラスタを自動的にスキャンし、 K8sバージョンのアップグレードに影響する可能 性がある問題を検知 ▼ 取り組みの甲斐あって(?)みてねのクラスタでは検知なし! ※1 https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-eks-upgrade-insights/
MIXI, Inc. まとめ
MIXI, Inc. まとめ • EKSクラスタアップグレード ◦ 役割ごとにクラスタを分割して、毎回発生していた作業コストを削減 • Helmパッケージのアップデート ◦
Renovate Botの活用により、更新の検知を自動化 • Deprecated/Removed APIの検知 ◦ Plutoやマネージド機能(EKS Upgrade Insights)によって自動化 K8s基盤の運用はただでさえ大変。。。 便利なツールを組み合わせて少しずつでも楽にしていきたい!
20 ©MIXI 豊かなコミュニケーションを広げ、 世界を幸せな驚きで包む。 PURPOSE 創業以来大切にしてきた豊かなコミュニケーションで幸せな驚きに包まれ た世界を目指し、ただ「つながればいい」という効率的な機能の提供では なく、あたたかい心のつながりを生み出すようなサービスの開発・提供を 行っています。 3つの事業領域で「心もつなぐ」場と機会の創造
─ スポーツ、ライフスタイル、デジタルエンターテインメント ─ BUSINESS スポーツ領域ではチーム・選手・ユーザーのつながり、ライフスタイル領 域では人々の生活がより豊かになるような身近なコミュニケーション、デ ジタルエンターテインメント領域では親しい友人達と一緒に遊んだり、リ アルイベントで盛り上がれる場や機会の提供など、「心もつなぐコミュニ ケーション」を軸とした事業展開を行っています。 ユーザーサプライズファースト、発明・夢中・誠実 大胆な発想と情熱と何事にも真摯に向きあう文化 CULTURE/PEOPLE ユーザーの驚きを最優先に考えるという想いのこもった「ユーザーサプライ ズファースト」という言葉を胸に、一人ひとりが、ユーザーや仲間、自分に 対して真摯に向き合い、夢中になって、それぞれの専門領域や経験を活かし たこれまでにない新しい視点の発想でものごとに取り組む組織文化です。 多様な働き方を実現する 「マーブルワークスタイル」制度 WORKING STYLE 多様な人材が活躍できる環境づくりを目指し、働き方や休み方の制度も拡充 されています。リモートワークとオフィスワークを融合した「マーブルワー クスタイル」制度は、対面でのコミュニケーション機会も重要であると考 え、両方の働き方を融合したような制度です。 WE ARE HIRING! MIXIではコミュニケーションを一緒につくる仲間を募集中! MIXI 採用 MIXI GROUPについて
MIXI, Inc.