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
Kubernetes × CircleCIで実現する安心安全Deploy / Safe Dep...
Search
VTRyo
June 03, 2020
Technology
1
3.6k
Kubernetes × CircleCIで実現する安心安全Deploy / Safe Deploy with Kubernetes and CircleCI
2020.6.3 CircleCI ユーザーコミュニティミートアップ登壇資料
https://circleci.connpass.com/event/175195/
VTRyo
June 03, 2020
Tweet
Share
More Decks by VTRyo
See All by VTRyo
あの職員室 / That teachers' lounge
vtryo
0
63
自分だけの、誰も想像できないキャリアの育て方 〜偶然から始めるキャリアプラン〜 / Career planning starting by luckly v2
vtryo
1
350
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
2.7k
一体いつからSRE NEXTがSREだけのカンファレンスだと錯覚していた? / When did you ever get the idea that SRE NEXT was a conference just for SREs?
vtryo
1
660
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
9
14k
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
3
1.8k
MySQLテーブル毎のデータサイズ集計をDatadog × Prometheus Exporter × Kubernetesを使って自動化する / Automate data size aggregation for each MySQL table using Datadog, Prometheus Exporter and Kubernetes
vtryo
0
420
自分だけの、誰も想像できないキャリアの育て方 ~懇親会で実践できる!偶然から始めるキャリアプラン~ / Career planning starting by luckly
vtryo
2
1.4k
なぜSREをはじめるのは難しいのか / Why is it hard to start SRE?
vtryo
1
680
Other Decks in Technology
See All in Technology
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.3k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
140
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2.5k
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
510
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
140
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
180
7,000万ユーザーの信頼を守る「TimeTree」のオブザーバビリティ実践 ( Datadog Live Tokyo )
bell033
1
100
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.2k
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.7k
AI駆動開発の実践とその未来
eltociear
2
500
Featured
See All Featured
The Curse of the Amulet
leimatthew05
0
4.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
260
Embracing the Ebb and Flow
colly
88
4.9k
Making Projects Easy
brettharned
120
6.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
BBQ
matthewcrist
89
9.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
50k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
Transcript
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Kubernetes
× CircleCI で実現する安⼼安全Deploy VTRyo / @3s_hv #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. #CircleCIJP
イベントハッシュタグ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. #CircleCIJP
スライドは公開します
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. VTRyo
/ @3s_hv ➤ 株式会社マツリカ / SRE ➤ 作家(早く脱稿したい) ➤ CircleCIユーザコミュニティメ ンバー etc. ➤ AWS Summit 2019 Startup Central 登壇 etc. https://vtryo.me illustration by 湊川あい #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
CI/CDってなんだっけ? ➤ 安⼼安全のDeployって? ➤ CircleCIに何をさせている? ➤ Deploy Workflow ➤ config.yml 話すこと #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⼿動でDeployまでしている⼈
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Build,
Testは⾃動の⼈ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Build,
Test, Deploy承認 までは⾃動の⼈ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⾃動でDeployまでしている⼈
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⾃動
CI/CDってなんだっけ? #CircleCIJP 参考:https://aws.amazon.com/jp/devops/continuous-delivery/ Build & Test Deploy Staging Deploy Production Commit change ⾃動 継続的インテグレーション 継続的デリバリ 継続的デプロイメント v1.1 本番Deploy 承認します ⾃動
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
CI(継続的インテグレーション) ➤ リリースプロセスのBuild段階とTest段階のことを指す。コードの変更がCommit されるたびに、⾃動化されたBuildとTestが実⾏される ➤ CD(継続的デリバリ) ➤ リリースプロセスの全体を⾃動化すること。ステージング環境まで⾃動Deployさ れる。本番環境へのDeployするかは開発者が決める ➤ CD(継続的デプロイメント) ➤ 継続的デリバリにおいて、本番環境へのDeployに承認が必要かどうか CI/CDってなんだっけ? #CircleCIJP 参考:https://aws.amazon.com/jp/devops/continuous-delivery/
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ҆৺҆શͷDeployͱ
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 1.
開発者なら誰でもDeployまでできる CircleCIの頑張りどころ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 2.
⼈間が頑張らずにDeployまでできる CircleCI, Kubernetes の頑張りどころ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 3.
Stagingでテストされた環境が ProductionにDeployされる CircleCI, Kubernetes の頑張りどころ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ͜ͷ3ͭΛϙΠϯτʹ
͍͖ͯ͠·͢ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ։ൃऀͳΒ୭ͰDeploy·ͰͰ͖Δ
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⾃動
どこの部分の話? #CircleCIJP 参考:https://aws.amazon.com/jp/devops/continuous-delivery/ Build & Test Deploy Staging Deploy Production Commit change ⾃動 継続的インテグレーション 継続的デリバリ 継続的デプロイメント v1.1 本番Deploy 承認します ⾃動 ͜͜ͷΛ͢ΔΑ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
開発者がソースコードをPush or Mergeすると… ➤ CircleCIがBuild & Testを開始 ➤ DockerΠϝʔδ͕ECRにPushされる ➤ KubernetesクラスタにDeployされる Workflowの概要 #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
開発者がソースコードをPush or Mergeすると… ➤ CircleCIがBuild & Testを開始 ➤ DockerΠϝʔδ͕ECRにPushされる ➤ KubernetesクラスタにDeployされる Workflowの概要 開発者がやることはシンプル #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
⾃動的にテスト(リリース候補確認)環境にDeployされる ➤ 開発者はMasterにMergeするだけでOK v1.1がMasterにMergeされたWorkflow #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
ProductionリリースWorkflowはStaging(本番相当)環境に⾃動Deployされる ➤ 問題なければ「request_prod 」をApprovedすることで本番Deployされる v1.1がProduction DeployされるときのWorkflow #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
ProductionリリースWorkflowはStaging(本番相当)環境に⾃動Deployされる ➤ 問題なければ「request_prod 」をApprovedすることで本番Deployされる v1.1がProduction DeployされるときのWorkflow #CircleCIJP 開発者は「Approved」するだけ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
ProductionリリースWorkflowはStaging(本番相当)環境に⾃動Deployされる ➤ 問題なければ「request_prod 」をApprovedすることで本番Deployされる v1.1がProduction DeployされるときのWorkflow #CircleCIJP 安全だね!
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
Stagingに⾃動的にDeployしたあとに ApprovedのJobを挟んでおく ➤ 開発者はこの中⾝を知らなかったとしても Deployすることができる config.yml #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ਓ͕ؒؤுΒͣʹDeploy·ͰͰ͖Δ
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⾃動
どこの部分の話? #CircleCIJP 参考:https://aws.amazon.com/jp/devops/continuous-delivery/ Build & Test Deploy Staging Deploy Production Commit change ⾃動 継続的インテグレーション 継続的デリバリ 継続的デプロイメント v1.1 本番Deploy 承認します ⾃動 ͜͜ͷΛ͢ΔΑ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
⼈間がコマンドラインなどを使⽤してDeployするやりかた ➤ kubectl apply ➤ terraform apply ➤ Deploy時にパラメータの変更が⼿動で必要なやりかた ⼈間が頑張るDeployとは(⼀例です) #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
⼈間がコマンドラインなどを使⽤してDeployするやりかた ➤ kubectl apply ➤ terraform apply ➤ Deploy時にパラメータの変更が⼿動で必要なやりかた ⼈間が頑張るDeployとは(⼀例です) #CircleCIJP いつかミスでる & 時間かかる
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
変更されたコードのテスト ➤ Dockerイメージの作成 ➤ 作成されるたび、Dockerイメージタグにバージョン管理のためコミットハッシュ を付与する ➤ ECRにPushする ➤ Migrationの実⾏ ➤ Deploy ➤ クラスタで、作成したDockerイメージに差し替える KubernetesクラスタにDeployするまで #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
変更されたコードのテスト ➤ Dockerイメージの作成 ➤ 作成されるたび、Dockerイメージタグにバージョン管理のためコミットハッシュ を付与する ➤ ECRにPushする ➤ Migrationの実⾏ ➤ Deploy ➤ クラスタで、作成したDockerイメージに差し替える KubernetesクラスタにDeployするまで #CircleCIJP なんだかんだ⾔ってやること多い
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
Dockerイメージタグにコミットハッシュ ➤ ↑で作成されたDockerイメージを使ってDeployされる config.yml #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
ECRの操作は、CircleCI Orbsを利⽤することで簡単に実現できる config.yml #CircleCIJP 参考:https://circleci.com/orbs/registry/orb/circleci/aws-ecr
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. StagingͰςετ͞Εͨڥ͕
ProductionʹDeploy͞ΕΔ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⾃動
どこの部分の話? #CircleCIJP 参考:https://aws.amazon.com/jp/devops/continuous-delivery/ Build & Test Deploy Staging Deploy Production Commit change ⾃動 継続的インテグレーション 継続的デリバリ 継続的デプロイメント v1.1 本番Deploy 承認します ⾃動 ͜͜ͷΛ͢ΔΑ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
StagingにDeployされてからでなければProductionへDeployできない流れ v1.1がProduction DeployされるときのWorkflow #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. なぜその流れがよいの?
#CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. かつての地獄…
➤ Opsworksによる構築、Deploy ➤ Stackによって失敗したりする ➤ 詳細なログを出してくれない… ➤ 構成変更に時間がかかる(停⽌も⻑ い) ➤ Chef ➤ 毎回Setupコマンド待ち ➤ ローカル開発環境はDockerなんだけど… #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 確かなDockerイメージをProductionへ
#CircleCIJP Deploy Staging Deploy Production Docker Image ⾃動 workflowでは Staging Deploy前にdocker build実⾏ 同じDockerイメージがDeploy ➤ 動作確認が取れているDockerイメージが 確実にProductionへ届く ➤ 安定性の向上 ➤ 「それStagingだと環境差分があって 再現しないんですよ」が減る ※データベース内容による環境差分はあると思います
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 確かなDockerイメージをProductionへ
#CircleCIJP Deploy Staging Deploy Production Docker Image ⾃動 workflowでは Staging Deploy前にdocker build実⾏ 同じDockerイメージがDeploy ➤ 動作確認が取れているDockerイメージが 確実にProductionへ届く ➤ 安定性の向上 ➤ 「それStagingだと環境差分があって 再現しないんですよ」が減る ※データベース内容による環境差分はあると思います 安全だね!
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
CircleCIによって、継続的デプロイメント(or 継続的デリバリ)の実装が可能 ➤ 「⼈間が頑張らず、誰でもDeployできる」ことには様々なメリットがあるよ ➤ 効率化 ➤ 属⼈化排除 ➤ Deploy安定性向上 ➤ Staging→ProductionというDeployフローが可能なら実装するとメリットがあるよ ➤ 動作確認保証が取れたものがProductionへ届く ➤ サービス安定性向上 まとめ #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤
Amazon EKSͰߏங͢ΔࣾPaaS ➤ https://speakerdeck.com/vtryo/create-paas-eks ➤ KubernetesͷJobͰ࣮ߦͨ͠MigrationͷϩάΛCircleCIͰݟΕΔͱศར ➤ https://blog.vtryo.me/entry/migration-log-to-circleci ➤ CircleCIͰϏϧυ͍ͯ͠Δϒϥϯν໊ΛDockerΠϝʔδͷλάʹઃఆ͢Δ ➤ https://blog.vtryo.me/entry/docker-image-tag-using-branch-name その他 参考資料 #CircleCIJP
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Hire
me! (side job.) ➤ Hire meは冗談ですが、ご相談はいつで もお待ちしています ➤ Twitter→@3s_hv #CircleCIJP illustration by 湊川あい
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Kubernetes
× CircleCI で実現する安⼼安全Deploy VTRyo / @3s_hv 完 #CircleCIJP