808 Views
July 16, 25
スライド概要
「KubeCon + CloudNativeCon Japan 2025」のセッションである「Standardizing on Multi-Cluster App Topologies for Platforms With Linkerd - William Rizzo, Mirantis & Erick Bourgeois, Independent」のRecapです
🏆 #19 CNCF Contributor JP (Last Year) | 👨💻 Tech Lead @craftsmansw | ⚙️ Member: Knative & K8s SIGs | 💙 Kubernetes, TypeScript, OSS | 🚀 Sveltos Ambassador
障害対応から開放される 自動回復するマルチクラスタの作り方 ~ で実現する な基盤 ~ Linkerd × Cluster API × Sveltos Kahiro Okina, Craftsman Software, Inc. Resilience KubeCon + CloudNativeCon Japan 2025 Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd William Rizzo & Erick Bourgeois 「 」
I’m kahirokunn 所属 Craftsman Software, Inc. - Technical Lead Project Sveltos - Partner 開発プロダクト AppThrust - Customizable PaaS AppThrust Runners - Self Hosted GitHub Actions Runner オープンソース活動 CNCF / Kubernetes Continuous contribution to the ecosystem Knative Member Kubernetes SIGs Member CNCF DevStats Developer Activity Counts (Japan) 🎉 Ranked 19th in the last year Sveltos Community Ambassador kahirokunn kahirokunn kahirokunn
本日のゴール マルチクラスタ環境で"壊れても自動回復する" Resilienceな基盤を実現するアーキテクチャを理解していただく 具体的には... コントロールできない障害から脱却する方法があることを知る Resilienceを実現する3つの要素とその連携を知る 実践的なアーキテクチャパターンをイメージできる 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
話すこと・話さないこと 本日お話しすること レジリエンスを実現する3つの要素 それぞれの役割と連携方法 障害時の自動回復の仕組み 実践的なアーキテクチャパターン 時間の都合で省略すること😢 デモ・実演 Internal Developer Platformとしての標準化手法 Golden Path templatesの設計方法 高度に規制された環境での詳細な実装 Platform Engineeringのガバナンス セキュリティ・コンプライアンスの詳細 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
Table of contents 5 Sveltos Multi Cluster 運 の簡素化 こんな経験ありませんか? 6 1 Linkerd サービスメッシュ Resilience とは? 7 2 連携時の全体像 Resilience Level 8 3 4 Resilienceな基盤を実現する3つの要素 9 まとめ Cluster API - クラスタも Kubernetesリソース
こんな経験ありませんか? 急なアラート通知でヒヤッとしたことありませんか? 「東京リージョンでサービス異常を検知しました」 突然の通知、そして始まる慌ただしい対応... リージョン障害と分かったら、なす術なく... 「こちらでは何もできません...復旧をお待ちください」 ただ復旧を祈るしかない状況に陥ったことはありませんか? コントロールできない状況にモヤモヤした経験、ありませんか? 数時間後、「サービス正常に戻りました😇」 その間の問い合わせ対応や、⼼配を抱えた時間...
とは? Resilience Resilience = 回復力・弾力性 Failure Scenario 障害が発生しても、サービスを継続できる能力 ポイント 「100%問題が起きない」は不可能 「壊れても自動的に回復」を実現 ユーザーに障害影響が出ない Failed Service HTTP HTTP/2 gRPC EWMA = Exponentially Weighted Moving Average 画像の引用元:「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
Resilience Level を上げよう! Level 1 クラスタ障害への耐性なし 2 クラスタ障害への耐性あり シングルクラスタ マルチクラスタ 今日のフォーカス マルチクラスタ + 自動障害検知 + 自動トラフィック切り替え + 自動復旧判定と段階的戻し クラスタ障害への耐性あり + 標準化 +α の機能として複雑性を意識させず、開発者に標準化された形式で提供 IDP 入口を紹介
な基盤を実現する3つの要素 Resilience マルチクラスタ Building Blocks Cluster API 宣⾔的なクラスタ管理 クラスタの作成‧削除‧更新を⾃動化 インフラを抽象化し、宣⾔的に管理 構成管理 Sveltos Cluster-API Kubernetes-style APIs to create and manage clusters on any Infrastructure Sveltos k0RDENT Linkerd Controller to distribute add-ons and policies Platform Control Plane tying together Multi-cluster and add-on management Lightweight Service Mesh to secure cross-cluster communication マルチクラスタ設定管理 複数クラスタへのmanifest⼀括デプロイ ポリシーと設定の⼀元管理 サービスメッシュ Linkerd 画像の引用元:「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」 トラフィック可視化・制御 ⾃動的な障害エンドポイントの切り離し 賢い負荷分散アルゴリズム 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
Cluster API - クラスタもKubernetesリソース クラスタをコードで管理 の威力 クラスタ自体もYAMLで定義 kubectl apply -f cluster.yamlでクラスタ作成 AWS、AZURE、GCP、オンプレ等にも対応 足りない環境・構成はProviderを自作することで拡張可能 Cluster API でクラスタ管理が可能 GitOps 東京クラスタ シンガポールクラスタ ニューヨーククラスタ
運⽤の簡素化 Sveltos - Multi Cluster 統一管理の課題 複数クラスタに⼀貫性ある アプリを配布したい ポリシーを適⽤したい 構成管理したい ClusterProfile / Event Framework 管理クラスタ ClusterProfile で解決 東京クラスタ region: asia-pacific のクラスタを選択 region=us my-app デプロイ済 シンガポールクラスタ region: asia-pacific my-app デプロイ済 ニューヨーククラスタ region: us-east 対象外
Linkerd : サービスメッシュ Federated Services + Peak EWMA × P2C シンプルに⾔うと... クラスタを跨ったサービスを作成できる 最近調⼦が悪いエンドポイントを覚えている ランダムに2つ選んで、良い⽅を使う 豆知識 は の が実装しています このアルゴリズムはEnvoyには実装されていません Peak EWMA Rust Tower Linkerd Federated Services Client App App-Svc-federated App-Svc-B App-Svc-C App-Svc-A EWMA In Linkerd Algorithm used for Balancing Continuously Calculate Metrics App-Svc App-Svc App-Svc μ-proxy μ-proxy μ-proxy App-B pod App-A pod App-C pod Cluster-B Cluster-A Cluster-C 画像の引用元:「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
連携時の全体像 Building Blocks (how we did it) でクラスタを複数作成 2. Sveltosでマルチクラスタのアドオンを配布し、纏め上げる 3. 開発者がBackstageからMultiClusterServiceを作成 4. k0RDENTがSveltosのAPI経由でマルチクラスタへサービスを配布 5. LinkerdでResilienceを備えたFederated Serviceを実現 1. Cluster API Devs API Interfaces Federated Service 画像の引用元:「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
まとめ 学んだこと Cluster API 明⽇から試せること Sveltos Linkerd クラスタをコードで管理 Sveltos: Multi Clusterへの統⼀デプロイ Linkerd: 賢いサービスメッシュ 1 Cluster API 2 Svelto 3 Linkerd でクラスタを作ってみる で複数クラスタの統⼀管理を体験 Cluster API: でフェデレーションを試す 全部やろうとしなくてOK! 興味を持ったツールを1つ試してみよう 参考情報 元セッション 📝 "Standardizing on Multi-Cluster Apps Topologies for Platforms with Linkerd" 👥 発表者 William Rizzo & Erick Bourgeois 🔗 各プロジェクトのURL: Cluster API: https://cluster-api.sigs.k8s.io/ Sveltos: https://sveltos.projectsveltos.io/ Linkerd: https://linkerd.io/ k0RDENT: https://k0rdent.io/ 詳細は元セッションのアーカイブをチェック! 「Standardizing on Multi-Cluster App Topologies for Platforms with Linkerd」
We are hiring! https://craftsman-software.com/recruit
Thank you