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
Multi-cluster deployment using ArgoCD x Connect Gateway
Search
izumiiii
July 04, 2023
Technology
0
190
Multi-cluster deployment using ArgoCD x Connect Gateway
izumiiii
July 04, 2023
Tweet
Share
More Decks by izumiiii
See All by izumiiii
CircleCIの実行時間を大幅に短縮した話
izumiiii
0
34
スタートアップが挑むクラウドネイティブなマルチリージョン戦略
izumiiii
0
83
GKE Autopilotのコストを9000円/日から2000円/日へ!
izumiiii
0
380
Other Decks in Technology
See All in Technology
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
310
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Raft: Consensus for Rubyists
vanstee
134
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
The Language of Interfaces
destraynor
151
23k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Designing Experiences People Love
moore
136
23k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Code Review Best Practice
trishagee
58
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Transcript
ArgoCD x Connect Gatewayを活用したマルチクラスターデプロイ Kubernetes Meetup Novice #26
自己紹介 名前 Koizumi Fumiya Twitter izumiiii @izumiiii9 Blog https://izumiiii.com 会社
株式会社Resilire 普段していること インフラ業務メインで、最近はよくKubernetesを触っています。 2
提供プロダクト Resilreの提供価値と機能 3 サプライチェーンリスク管理SaaS Resilire サプライチェーン全体(社内拠点や委託先、原料 調達先)をツリー上で構造的に管理。災害時、被 災影響の可能性がある拠点をマップ上で可視化・ リスト化。リストの拠点に自動でアンケート配信か ら回答結果のレポート生成を可能にするプロダク
トを提供しています。 3
既存のインフラアーキテクチャ簡易版 4
既存のCI/CD 既存のCI/CDはGithub Actionsで全て行っているため、dev/stg/prodである程度アプリケーション数がある場合にメンテナ ンスコストが上がってしまいます。 5
初期状況と課題 • Cloud RunへデプロイするGithub Actionsのコードが肥大化しており、メンテナンスコストが上がっていた。 • リアーキテクチャにより、サービスを洗い出した時に、アプリケーション数が増えることが想定されていたため、現状の 運用だとさらに、Github Actionsへのコードが増えて、肥大化してしまう。 •
グローバル構成を見据えることを考えると、Cloud Runではリージョン毎にサービスが増えるため、管理コストが上がっ てしまう。 6
Kubernetesとマルチクラスターデプロイの課題 1. 課題 a. Kubernetesはコンテナオーケストレーションのデファクトスタンダードであり、スケーラビリティ、自動化、そしてデ プロイメントの管理を円滑に行うためのツール。しかし、マルチクラスターデプロイには困難が伴う。 b. それぞれのクラスタで状態を一貫して保つための設定や管理が必要。 2. 解決策
a. ArgoCDとArgoCD Image Updater、そしてConnect Gatewayの組み合わせ。これらのツールを使用することで、 マルチクラスターデプロイの課題に対しての有効なソリューションになる。 7
ArgoCDの導入とそのメリット • ArgoCDは、デプロイメントプロセスを自動化し、管理を容易にするための強力なツール。 • GitOpsの手法により、KubernetesのマニフェストをGitリポジトリで管理することができ、これにより、インフラストラク チャの変更履歴がGitのコミットと一致し、誰が何を変更したのかを容易に追跡。 • ArgoCDはマルチクラスター環境でのデプロイメント管理を一元化。 • 複数のKubernetesクラスターにまたがるデプロイメントの複雑さを大幅に軽減。また、自動化された同期機能により、
リポジトリの状態と実際のクラスター状態が一致していることを保証。 8
ArgoCD Image Updaterの活用 ArgoCD Image Updaterの活用により、デプロイされるイメージのバージョン管理を自動化することができ、これにより、手 動でのアップデートを行う必要がなくなり、デプロイの効率化と安全性が大幅に向上する。 9
Connect Gatewayの組み込み Connect Gatewayを組み込むことで、クラスタ間通信のセキュリティを強化しつつ、マルチクラスタでのサービスデプロイを 簡単にできる。これにより、クラスタ全体の運用がより効率的かつ安全に。 10
実際の構成 • ArgoCDのApplicationSetのList Generatorを使い、アプリケーションを複数のクラスターに登録。 • マルチクラスタに対応したディレクトリ構成にすることで、list elementsから値を使用して構成クラスタ、メンバークラスタで 差異のあるデプロイも対応。 • ArgoCD
Image UpdaterはApplicationSetにannotationsとして付与して、マルチクラスタに対応。 11
まとめ • Kubernetesでのマルチクラスターデプロイの課題が存在。 • ArgoCD, ArgoCD Image Updater, Connect Gatewayを使用することで、マルチクラスタに対応したデプロイを実現。
• さらに、ArgoCD ApplicationSet x Kustomizeを用いることで、より快適なリソース管理をすることができる。 12
ご清聴ありがとうございました。