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
86
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.1k
Goで工場を制御する要であるPLCにアクセスする / go-plc
laqiiz
0
2.3k
Abstract Sentinel
laqiiz
0
91
CNCF
laqiiz
1
90
Local_Kubernetes.pdf
laqiiz
1
87
Abstract GitOps
laqiiz
1
160
公開用_WebDBForum2018_テクノロジーショーケース_業務IoTストリーミング基盤.pdf
laqiiz
1
270
Other Decks in Technology
See All in Technology
一休.comレストランにおけるRustの活用
kymmt90
3
590
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
370
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
270
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
180
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
ガチ勢によるPipeCD運用大全〜滑らかなCI/CDを添えて〜 / ai-pipecd-encyclopedia
cyberagentdevelopers
PRO
3
210
APIテスト自動化の勘所
yokawasa
7
4.2k
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
24
6.8k
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
240
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
11k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
The Pragmatic Product Professional
lauravandoore
31
6.3k
Producing Creativity
orderedlist
PRO
341
39k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Building an army of robots
kneath
302
42k
Being A Developer After 40
akosma
86
590k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
Into the Great Unknown - MozCon
thekraken
31
1.5k
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