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
SRE課が開発中システムのCI/CDで取り組んでいるGitOpsの話 / GitOps wit...
Search
Imamoto Hikaru
December 09, 2022
Technology
2.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SRE課が開発中システムのCI/CDで取り組んでいるGitOpsの話 / GitOps with ArgoCD
Imamoto Hikaru
December 09, 2022
Transcript
24 slides
#RAKUSMeetup ©2022 RAKUS Co., Ltd. SRE課が開発中システムの CI/CDで取り組んでいるGitOpsの話 株式会社ラクス 今本光
#RAKUSMeetup 今本光(いまもとひかる) SI企業でのエンジニア経験を経て 2021/10にラクスに入社。 SRE課 BusinessPlatform チーム所属。 社内の複数サービスを横断したビ ジネス基盤となるアプリケーション の開発に携わっています。 趣味:野球観戦、サウナ、日向坂46
休日はコワーキングスペースで勉 強したりGoのコードを書いたりす ることが多いです。
#RAKUSMeetup 本日お話しする内容 • 現在開発中のシステムについて(Kubernetesを利用) • Kubernetesのデプロイについて • ArgoCDを使ったGitOpsへの取り組み • GitOpsによって得られるメリット
#RAKUSMeetup 現在開発中のシステムについて
#RAKUSMeetup 現在開発中のシステムの概要 • 業務運用課の要望を元に現在開発中の新規システム • 運用コスト削減や運用作業品質向上を目的としたWebアプリ ◦ 現在は人の手で判断・作業している運用業務を削減 • AWS上にKubernetesを構築してアプリケーションを運用する
想定
#RAKUSMeetup デプロイ環境ごとの構成
#RAKUSMeetup 全体図
#RAKUSMeetup Kubernetesのデプロイについて
#RAKUSMeetup コマンドによるデプロイ方法 • Kubernetesマニフェスト上のコンテナイメージ情報を更新し て、以下のコマンドでデプロイ実施可能 $ kubectl apply -f deployment.yml
#RAKUSMeetup kubectl applyにおける課題 • (1) 誰がいつ変更を適用したかのログが取りづらい ◦ 開発者のローカル環境で直接コマンド実行したりすると誰がコマンド実行したか 追えなくなる •
(2) コマンドミスが発生する可能性がある ◦ 人の手でコマンド実行する場合、コピペミスや反映する環境の設定ミスで事故が 発生する可能性がある • (3) クラスタの認証情報を外部に公開する必要がある ◦ Kubernetesクラスタの認証情報をコマンド実行者や実行元システムが保持す る必要がある
#RAKUSMeetup kubectl applyは課題がいっぱい! • kubectl applyを打たずにアプリをデプロイしたい!! →この課題に対する解決策としてGitOpsに取り組んでいます。
#RAKUSMeetup ArgoCDを使った GitOpsへの取り組み
#RAKUSMeetup GitOpsとは • デプロイに関する問題を解消する手段として、GitOpsという手 法に取り組んでいます。 • GitOpsとは「アプリだけでなくインフラも含めてシステム全体の コードをGitを使って管理する手法」です。 • CIだけでなくCDも含めてGit操作だけで完結するようになりま
す。
#RAKUSMeetup GitOpsを実現するためのツール • CI:GitHub Actions ◦ GitHub上のリポジトリへのPushやPRマージをトリガーに特定の処理を 実行する • CD:ArgoCD
◦ Kubernetes環境でGitOpsを実現するためのCDツール ◦ Gitリポジトリ上のKubernetesマニフェストを監視して、変更を検知した らKubernetesクラスタに適用(=デプロイ)
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsの実現方法
#RAKUSMeetup GitOpsによって得られるメリット
#RAKUSMeetup GitOpsによって得られるメリット • デプロイ手順の簡略化 ◦ GitHubのCIとPRマージのみで完結するのでデプロイ手順がシンプル • デプロイ情報のログが残せる ◦ GitHub上でのPRマージがデプロイの契機となるので、操作者やデプロイ時刻、デプ
ロイ内容のログが自動的に残る • セキュアなデプロイ手順となる ◦ kubectlコマンドでのデプロイと比較して、デプロイ手順ミス等のヒューマンエラーが 起きない ◦ クラスタの認証情報もAWS内部で保持すれば良いので、外部に持つ必要があない
#RAKUSMeetup まとめ • Kubernetesクラスタへのデプロイの手法としてGitOpsの実 現に取り組んでいます。 • GitOpsを実現するツールとしてArgoCDを採用しています。 • GitHub+ArgoCDでCI/CDを実行することで、kubectlコマ ンドでのデプロイと比較して様々なメリットがあります。
#RAKUSMeetup ご清聴ありがとうございました。
More Decks by Imamoto Hikaru
See All by Imamoto Hikaru
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
1.1k
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
1
8.4k
RDRA/DDD/Goでモジュラーモノリスのアプリを開発してみた話 / developing a modular monolith application with RDRA DDD Go
imamotohikaru
3
2.9k
RDRAとDDDでGoのモジュラーモノリスアプリを設計してみた話
imamotohikaru
2
4k
Other Decks in Technology
See All in Technology
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
240
ぼくのClaude Codeの使い方
falken
PRO
1
120
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
130
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
310
公共分野での生成AI活用
toru_kubota
1
320
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
210
[General] 개발자로 해외 기업에서 일하기
skydoves
1
330
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
620
Linuxネットワークスタック進化の軌跡: 過去10年の歩みと最新トレンド
orimanabu
1
240
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
290
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
140
BALLAS Technology Deck
ballas_inc
0
490
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
330
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
980
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Making the Leap to Tech Lead
cromwellryan
135
10k
Writing Fast Ruby
sferik
630
63k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
The untapped power of vector embeddings
frankvandijk
2
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M