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
Abstract Helmfile
Search
Junki Mano
July 29, 2019
Technology
1
120
Abstract Helmfile
Abstraction of Helmfile.
社内LT用に作成したHelmfileの概要資料です/
Junki Mano
July 29, 2019
Tweet
Share
More Decks by Junki Mano
See All by Junki Mano
ソフトウェアアーキテクトって何やるの? ~知っておくと役立つ考え方を共有します~ | 技育祭2022秋
laqiiz
3
2.2k
Goで工場を制御する要であるPLCにアクセスする / go-plc
laqiiz
0
2.6k
Abstract Sentinel
laqiiz
0
130
CNCF
laqiiz
1
130
Local_Kubernetes.pdf
laqiiz
1
130
Abstract GitOps
laqiiz
1
200
公開用_WebDBForum2018_テクノロジーショーケース_業務IoTストリーミング基盤.pdf
laqiiz
1
350
Other Decks in Technology
See All in Technology
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
820
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
740
Railsアプリケーション開発者のためのブックガイド
takahashim
12
5.2k
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
ohbarye
9
3.5k
KMP の Swift export
kokihirokawa
0
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
32
9.6k
Windows で省エネ
murachiakira
0
150
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
130
PyCon JP 2025 DAY1 「Hello, satellite data! ~Pythonではじめる衛星データ解析~」
ra0kley
0
760
Tomorrow graphlib, Let us use everybody
hayaosuzuki
0
140
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Visualization
eitanlees
148
16k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
162
25k
Docker and Python
trallard
46
3.6k
Balancing Empowerment & Direction
lara
4
670
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building an army of robots
kneath
306
46k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
Helmfile Future-Daily-Standup-Meeting Kubernetes Ecosystem Study Mano Junki
What Helmfile?
Helmfileとは • KubernetesのパッケージマネージャであるHelmを宣言的に操 るツール • 主な機能 1. Helm Chart のValuesファイルをバージョン管理
2. k8sアプリの変更をCI/CD 3. 継続的に「あるべき状態」に寄せていき、prd/stgなど環境全体の skew(ずれ)を抑制する
Helmfileは何を解決するものか
Helmfileは何を解決するものか • Helmによってk8sアプリをパッケージ化はできたが、インス トール時に指定する設定値によって動作が変わる • 設定値の指定方法が、サービスに寄ってまちまちになりがちで、自動 化が難しかった • skew防止 •
例:デバック用にインセキュアな設定をした。 • ⇨hemlfileを定期実行することで、書かれていない設定は取り除かれる
こういう環境差分の values.yamlなどの管理。 これをデプロイするshell script? → Helmfileで代理 https://medium.com/@naseem_60378/helmfile-its-like-a-helm-for-your-helm-74a908581599
Helmfile Configuration
Helmfile最小構成の例 • prom-norbac-ubuntuというアプリ名で、stable/prometheus のChartでインストール。Chart Valueとして rbac.create=false を指定(残りはChartのデフォルト値)。values.yamlの代替
Helmfile設定項目 以下の3つ 1. release(前ページで説明したので割愛) 2. repositories 3. helmDefaults
repositories • name=HelmのChartリポジトリ名 • url= HelmのChartのリポジトリのURL
helmDefaults • tillerNamespace • HelmのサーバサイドコンポーネントのTillerインストール先のネームスペース • kubeContext • kubeconfigのどのcontextが指すk8sクラスタに接続するかの指定 •
args • helmfileが呼ぶ全helmコマンドに追加する引数 • 略
実行 • helmfile apply • apply all resources from state
file only when there are changes • ⇨単純な適用 • helmfile sync • sync all resources from state file (repos, releases and chart deps) • ⇨定期的にsyncすることで実機との動機が行える
参考 • https://github.com/roboll/helmfile • https://medium.com/@naseem_60378/helmfile-its-like-a- helm-for-your-helm-74a908581599