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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Imamoto Hikaru
December 09, 2022
Technology
2.1k
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
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.8k
RDRAとDDDでGoのモジュラーモノリスアプリを設計してみた話
imamotohikaru
2
3.9k
Other Decks in Technology
See All in Technology
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
130
大型犬好きによるPugの紹介
yamanoku
1
160
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
210
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
パッチ更新でterraform initが落ちた日
grimoh
1
140
USB PDを使ってスマホを労わりたい
raspython3
0
180
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Documentation Writing (for coders)
carmenintech
77
5.6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Designing Experiences People Love
moore
143
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
#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 ご清聴ありがとうございました。