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
KubeCon + CNCon Europe 2023 Recap Flux Beyond G...
Search
ksudate
May 30, 2023
Programming
1
18k
KubeCon + CNCon Europe 2023 Recap Flux Beyond Git: Harnessing the Power of OCI
Kubernetes Meetup Tokyo #58 (
https://k8sjp.connpass.com/event/282273/
) の登壇資料になります
ksudate
May 30, 2023
Tweet
Share
More Decks by ksudate
See All by ksudate
ZOZOTOWNにおけるKubernetes Cluster Upgradeの これまでとこれから
ksudate
2
2.3k
KubeCon + CNCon Europe 2022 Recap ~ Istio Today and Tomorrow: Sidecars and Beyond
ksudate
1
580
分散負荷試験の自動化を実現するGatling Operatorの紹介
ksudate
1
4.9k
PodのAZ分散を実現する Pod Topology Spread ConstraintsとDescheduler
ksudate
1
910
Other Decks in Programming
See All in Programming
Grafana:建立系統全知視角的捷徑
blueswen
0
260
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1k
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
560
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
920
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.8k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
260
CSC307 Lecture 02
javiergs
PRO
1
710
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
200
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
330
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
860
Graviton と Nitro と私
maroon1st
0
160
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Deep Space Network (abreviated)
tonyrice
0
32
The Cult of Friendly URLs
andyhume
79
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
We Have a Design System, Now What?
morganepeng
54
8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
860
Claude Code のすすめ
schroneko
67
210k
Transcript
KubeCon + CNCon Europe 2023 Recap Flux Beyond Git: Harnessing
the Power of OCI Kubernetes Meetup Tokyo #58 株式会社ZOZO 技術本部 SRE部 ECプラットフォーム基盤SREブロック 巣立 健太郎 Copyright © ZOZO, Inc. 1
© ZOZO, Inc. 株式会社ZOZO 技術本部 SRE部 ECプラットフォーム基盤SREブロック 巣立 健太郎 /
Kentaro Sudate KubeConはNAに続いて2回目 Twitter: @ksudate 2
© ZOZO, Inc. KubeConの悲劇 3 KubeCon開催の1ヶ月前のある日のこと… 初のEuropeという事でワクワクしながら、ホテルも飛行機もガイドブックも 早々に予約を済ませていました。 しかし、ある想定外の自体が発生しました…
© ZOZO, Inc. KubeConの悲劇 4 KubeConのチケット売り切れた
© ZOZO, Inc. KubeConの悲劇 5 https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/
© ZOZO, Inc. KubeConの悲劇 6 でも、安心してください
© ZOZO, Inc. KubeConの悲劇 7 Waitlistがありました! Waitlistに登録してから数週間後、無事チケットを獲得しOn-siteで参加でき ることになりました。 (飛行機のキャンセル代、数十万円に怯える日々は辛かったです…) https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/
© ZOZO, Inc. KubeConの悲劇 8 今後、KubeConへ参加する方はお早めのチケットの購入をおすすめします。
© ZOZO, Inc. Agenda 9 • セッションRecap • ZOZOTOWNのCI/CD基盤とFlux2の活用 •
まとめ
© ZOZO, Inc. セッション概要 10 Link https://kccnceu2023.sched.com/event/1HySr/flux- beyond-git-harnessing-the-power-of-oci-stefan-pro dan-hidde-beydals-weaveworks Video
https://youtu.be/gKR95Kmc5ac
© ZOZO, Inc. セッション概要 11 OCIがアプリケーションコード とインフラ設定の両方のSingle Source of Truth(以下、SSOT)としてどのように機能するかに焦点を当てます。
本セッションでは、Kubernetesの設定とTerraformのモジュールをOCI Artifactsとして配布するためのPackage ManagerとしてFluxを使用する方法 についてのセッションでした。
© ZOZO, Inc. 本題に入る前に… 12
© ZOZO, Inc. OCI (Open Container Initiative)とは? 13 コンテナランタイムとイメージフォーマットの標準化を目的として設立され た。
Docker社をはじめとするコンテナ業界のリーダーたちによって2015年6月に 設立された。
© ZOZO, Inc. OCI ImageとOCI Artifacts Registry 14 OCI Image
OCIの仕様に準拠したコンテナイメージ Docker Imageと互換性があり、既存のDocker ImageをOCI Imageとして利用 可能
© ZOZO, Inc. OCI ImageとOCI Artifacts Registry 15 OCI Artifacts
Registry OCIの仕様に準拠したコンテナイメージの配布と保存のためのシステム Docker HubやAmazon ECRなど、様々な環境でサポートされている
© ZOZO, Inc. OCI ImageとOCI Artifacts Registry 16 OCI Artifacts
Registry OCI Imageだけでなく、他のArtifactsも格納可能 ex. ファイルアーカイブ (tar, zip)、ソースコード、バイナリファイル
© ZOZO, Inc. OCI Artifacts Registry、使ってみよう! 17 ORASを使ってDocker HubにOCI ArtifactsをPush
/ Pullを試す
© ZOZO, Inc. OCI Artifacts Registry、使ってみよう! 18
© ZOZO, Inc. では、本題へ 19
© ZOZO, Inc. Fluxを利用したGitOps Workflow 20 https://youtu.be/gKR95Kmc5ac
© ZOZO, Inc. Fluxを利用したGitOps Workflow 21 • インフラ構成はGitで管理 ◦ ex.
K8sマニフェストやTerraformファイル • コンテナイメージはコンテナレジストリで管理 ◦ ex. Docker Image 構成ファイル、コンテナイメージの管理が異なる…
© ZOZO, Inc. そこで、OCI Artifacts! 22
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 23 構成ファイル、コンテナイメージの管理が一緒になる! https://youtu.be/gKR95Kmc5ac
© ZOZO, Inc. 他にもメリットあります! 24
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 25 Gitリポジトリに最終的なKubernetesマニフェストが含まれていない… KustomizeやCueを使っている場合、Build前のマニフェストがGitで管理され ていることが多い
そのため、Fluxが利用するBuild後のマニフェストがGitで管理されている Build前のマニフェストとは異なる
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 26 解決! OCI Artifactsを使えば、Build後のマニフェストを管理可能
SSOTの観点で言えば、OCI Registryにソースを集約可能になる
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 27 Gitリポジトリへアクセスするためのキーやトークンの管理が必要… Gitリポジトリと同期を取るためにFluxはキーやトークンを持つ必要がある
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 28 解決! FluxがGitを参照することはなくなるので管理が不要 OCI
Registryについては、多くのクラウドプラットフォームで用意されてお り、IAMでのアクセス制御などが可能になっている
© ZOZO, Inc. OCI Artifactsの署名 29 FluxはSigStore Cosignで署名されたOCI Artifactsをサポート 1.
flux push artifactコマンドでOCI RegistryへOCI ArtifactsをPush 2. cosignでOCI Artifactsを署名 3. FluxがOCI Artifactの署名を検証
© ZOZO, Inc. OCI Artifactsの署名 30 FluxがOCI Artifactの署名を検証
© ZOZO, Inc. FluxとOCI Artifactsを利用したGitOps Workflow 31 他にも、様々なメリットが紹介されました https://youtu.be/gKR95Kmc5ac
© ZOZO, Inc. FluxでOCIを利用するには? 32 OCIRepositoryを利用する
© ZOZO, Inc. GitからOCIへの移行 33 GitRepositoryとOCIRepositoryは互換性を持つAPI https://youtu.be/gKR95Kmc5ac
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤 34 絶賛、K8sマニフェストの管理をGitHub ActionsからFluxへ移行中です! https://techblog.zozo.com/entry/gitops-with-flux2
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤 35 現在は、OCI Registryを利用していません。 そのため、今回紹介した課題は解決できていません… ex. FluxとGitが利用するマニフェストが異なる、Gitリポジトリのキー管理
しかし、他にも課題はあります…
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤が抱える課題 36 K8sマニフェスト以外のGitOps化 K8sマニフェストはFluxで管理されつつありますが、その他のインフラ設定は 依然としてGitHub ActionsでCI/CD(いわゆる、CIOps)が行われます。 GitHub
ActionsでK8sリソースをデプロイするための権限は不要になったが、 CloudFormation Templateをデプロイするための権限は必要…
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤が抱える課題 37 現状の構成 • AWSリソース ◦ CloudFormation
• それ以外のリソース(DatadogやElastic Cloudなど) ◦ Terraform
© ZOZO, Inc. Fluxで管理できないの…? 38
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤が抱える課題 39 Weave GitOps Terraform Controller TerraformをFluxで管理するEcosystemをGitOpsの提唱したWeavework社が
開発しています。 Weave GitOps Terraform Controller CloudFormationはどうする…?
© ZOZO, Inc. ZOZOTOWNのCI/CD基盤が抱える課題 40 AWS CloudFormation Template Sync Controller
for Flux リリース 🎉 これまで、CloudFormationをFluxで管理する方法はありませんでした。 しかし、今回のKubeConでCloudFormation TemplateをFluxでデプロイする 新しいEcosystemが発表されました。 AWS CloudFormation Template Sync Controller for Flux のご紹介
© ZOZO, Inc. 全リソースをFluxで管理できる日も近い…! 41
© ZOZO, Inc. まとめ 42 • OCIはGitに変わるFluxのSSOT ◦ ただ、Gitはこれまで通り利用され続ける。OCIはあくまで中継役 •
FluxはK8sマニフェスト以外のリソースへの対応を拡大中 ◦ K8s、Terraform、CloudFormation • KubeCon EUも最高でした
© ZOZO, Inc. 参考リンク 43 • https://opencontainers.org/ • Announcing Docker
Hub OCI Artifacts Support • OCI artifacts on Docker Hub • OCI cheatsheet • CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話
None