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
19k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by ksudate
See All by ksudate
ZOZOTOWNにおけるKubernetes Cluster Upgradeの これまでとこれから
ksudate
2
2.5k
KubeCon + CNCon Europe 2022 Recap ~ Istio Today and Tomorrow: Sidecars and Beyond
ksudate
1
620
分散負荷試験の自動化を実現するGatling Operatorの紹介
ksudate
1
5k
PodのAZ分散を実現する Pod Topology Spread ConstraintsとDescheduler
ksudate
1
960
Other Decks in Programming
See All in Programming
A2UI という光を覗いてみる
satohjohn
1
150
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
210
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
150
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
7.9k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
210
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
740
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
570
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
1B+ /day規模のログを管理する技術
broadleaf
0
110
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Scaling GitHub
holman
464
140k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
The SEO identity crisis: Don't let AI make you average
varn
0
500
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
So, you think you're a good person
axbom
PRO
2
2.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
Mind Mapping
helmedeiros
PRO
1
260
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Code Review Best Practice
trishagee
74
20k
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