Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい / FamilyA...
Search
kohbis
January 25, 2024
Technology
2.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい / FamilyAlbum EKS Continuous Improvement
Kubernetes活用の手引き 私たちの基盤構築・運用事例 Lunch LT
https://findy.connpass.com/event/307447/
kohbis
January 25, 2024
More Decks by kohbis
See All by kohbis
自然な日本語より、 意図どおり伝わる日本語
kohbis
0
150
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
6
2.6k
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
5
1.4k
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
630
Kubernetes環境周りの責任範囲をいい機会なので考える / Taking the Opportunity to Clarify Kubernetes Responsibilities
kohbis
2
490
『家族アルバム みてね』におけるAmazon EKSコストとの向き合い方 / Optimizing Amazon EKS Costs: The FamilyAlbum Case
kohbis
4
1.9k
潜在的課題探索活動の近況報告 / Exploration of latent challenges
kohbis
2
220
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
3
1.3k
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
4
8.1k
Other Decks in Technology
See All in Technology
The Author Pays
hiccupps
0
150
evcc & Home Assistant
naltatis
0
530
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
250
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
130
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
220
Kiro を使うコツ (頼み方、覚えさせ方、任せ方) | 目指せ Kiro マスター 09
inariku
PRO
3
140
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
120
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
200
BALLAS Technology Deck
ballas_inc
0
470
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
600
JAWSコミュニティに 参加して1年経った結果
ssakita
0
120
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
Navigating Weather and Climate Data
rabernat
0
590
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Between Models and Reality
mayunak
4
570
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
980
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
560
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
The agentic SEO stack - context over prompts
schlessera
0
1k
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.