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
Kubernetes における宣言的なリソースデリバリーの実践
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shota Suzuki
June 11, 2021
Technology
570
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes における宣言的なリソースデリバリーの実践
Shota Suzuki
June 11, 2021
More Decks by Shota Suzuki
See All by Shota Suzuki
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
1
730
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
510
ネットワーク視点で学ぶ Amazon EKS クラスタのスケーラビリティ
sshota0809
2
2.1k
脱・塩漬け!サステナブルなKubernetesエコシステムの管理をしていくために
sshota0809
2
910
ユーザーの理想からはじめるサービスの信頼性定義
sshota0809
2
700
Google Cloud Anthos Day 登壇資料
sshota0809
0
150
Helm / ArgoCD で実現する Kubernetes における宣言的リソースデリバリーの実践
sshota0809
3
3.9k
【SRE NEXT 2020】冗長性と生産性を高めるハイブリッドクラウド環境の実現
sshota0809
2
7.6k
VXLANを使ったプライベートクラウドVMマイグレーションの実現
sshota0809
0
340
Other Decks in Technology
See All in Technology
形式手法を使って仕様をコーディングしよう
mikanichinose
0
180
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
130
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
190
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
3
690
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
20260930_Gemma4_Hands-on
tsho
0
230
Futexes the good, the bad, the ugly
ennael
PRO
0
130
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1k
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
4
1.1k
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Rails Girls Zürich Keynote
gr2m
96
14k
エンジニアに許された特別な時間の終わり
watany
109
250k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
We Are The Robots
honzajavorek
0
390
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
460
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
510
Marketing to machines
jonoalderson
1
5.9k
Transcript
スポンサーLT Kubernetes における宣言的な リソースデリバリーの実践 株式会社ユーザベース 鈴木祥太
自己紹介/会社紹介 鈴木 祥太 (@sshota0809) • SRE チーム所属 ◦ B2B 向け
SaaS Product を横串で担当 • 最近 Kubernetes の Gateway API に興味を持っています 株式会社ユーザベース • 「経済情報で、世界を変える」のミッション 提供サービス: 経済情報 プラット フォーム ソーシャル 経済 メディア スタートアップ情報 プラットフォーム B2Bマーケティング プラットフォーム etc...
弊社プロダクトの CD における課題 dev#1 dev#2 prd#1 prd#2 ・・・ ・・・ templateファイル
(Deployment/etc...) 変数ファイル (e2e/dev/prd) envsubst Kubernetes のコンテキスト情報 をパイプラインの中で選択し kubectl コマンドによりデプロイ 1. お手製シェルによるマニフェスト生成 • 変数ファイルに環境ごとの変数を設定 • envsubst でテンプレートファイルに変数を埋め込んで マニフェスト生成 ◦ envsubst はシンプルだがやれることが限られる 2. Kubernetes コンテキストを意識するデプロイ • どのクラスタにデプロイするか(どのコンテキストを使う か)はパイプラインにパラメータとしてユーザが渡す ◦ 潜在的なオペミスのリスク ◦ Jenkins サーバ上でコンテキストを管理する必要性 3. リソースのデプロイが手続き的 • パイプライン内部で kubectl コマンドを利用してデプロイ ◦ どのクラスタにどのアプリがデプロイされているの かは宣言的に管理されていない ▪ 規模が大きくなるにつれて運用が辛くなる
envsubst によるマニフェスト作成 ... export HOST=hoge ... apiVersion: networking.istio.io/v1alpha3 kind: VirtualService
metadata: name: test namespace: test spec: hosts: - ${HOST}.com ... apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: test namespace: test spec: hosts: - hoge.com ... = +
envsubst によるマニフェスト生成 + kubectl によるデプロイ helm によるマニフェスト生成 + ArgoCD による
GitOps
GitOps による宣言的なリソースデリバリー dev#1 dev#2 prd#1 prd#2 ・・・ ・・・ templateファイル (Deployment/etc...)
変数ファイル (e2e/dev/prd) 1. helm によるテンプレート管理 • リッチなテンプレートエンジンによる柔軟性の高さ 2. Kubernetes コンテキスト情報をパイプラインから排除 • どのクラスタにリソースがデプロイされるか ArgoCD が保持 ◦ ArgoCD の設定ファイル自身も CRD によって宣言的に 管理される ◦ Kubernetes のコンテキスト情報を管理する必要無し 3. リソースのデプロイが宣言的 • GitOps による Single Source of Truth の実現 ◦ クラスタにどのようなリソースがデプロイされている かすべてリポジトリ内に定義されている ArgoCD が Deploy された クラスタ
まとめ 1. envsubst を利用した独自のマニフェスト生成 + 手続き的なデリバリーに課題感 2. helm + ArgoCD
を利用した GitOps 化を実施 3. 柔軟性の高いテンプレートエンジン + 宣言的なデリバリーを実現
宣伝 Cloud Native Lounge#1/#2 に弊社メンバーが登壇します ぜひ参加お願い致します! https://forkwell.connpass.com/event/215187/