概要
helmfile は helm の values.yaml やパラメータ、バージョン情報などを YAML ファイルで宣言的に管理できるツールです 今回はインストール方法と簡単な使い方を紹介します
環境
- Ubuntu 18.04
- helm v3.5.2
- helmfile 0.139.7
helmfile のインストール
まずは helmfile コマンドをインストールします 少しややこしいですが helmfile はコマンド名にもなっています
バイナリを 1 配置するだけで完了です docker でも動作させることができますが今回はバイナリインストールを採用します
- wget ‘https://github.com/roboll/helmfile/releases/download/v0.139.7/helmfile_linux_amd64’
- mv helmfile_linux_amd64
- chmod +x /usr/bin/helmfile
- helmfile version
helmfile version v0.139.7
helm diff プラグインのインストール
helmfile の一部のコマンドが helm-diff に依存しているのでインストールしておきましょう
- helm plugin install https://github.com/databus23/helm-diff
helmfile.yaml を作成する
では helmfile.yaml を作成しましょう 本来 helm コマンドの引数になる情報を YAML ファイルに記載する感じになります
- vim helmfile.yaml
releases:
- name: request-dumper
namespace: default
chart: request-dumper/request-dumper
version: 0.1.1
set:
- name: replicaCount
value: 2
helm を実行したことがあるのであればそれぞれのパラメータが何を意味しているのか何となくわかると思います
コマンドで指定していたものがファイルに定義できているのが確認できると思います
動作確認
では実行してみましょう デプロイするには apply サブコマンドを使います
- helmfile apply
すると helmfile に記載された chart がデプロイされると思います 削除される場合は destroy サブコマンドを使います
- helmfile destroy
values.yaml を使う方法
set ではなく values を使えば OK です
releases:
- name: gitlab
namespace: gitlab
chart: gitlab/gitlab
values:
- ./values.yaml
これで既存の values.yaml ファイルをそのまま使うことができます
helmfile sync について
デプロイするサブコマンドは apply の他 sync というサブコマンドがあります 大きく違いは以下の通りです
- apply・・・マニフェストに差分がある場合に helm upgrade を実行する
- sync・・・毎回 upgrade を実行するので差分がなくても revision が上がっていく
という感じの違いがあります 基本は apply を使うのが良いかなと思います
最後に
今回は簡単な方法だけ紹介しているので他にもいろいろな定義をすることができます
例えば他にも helmfile.yaml を定義してそれを include して一気にデプロイすることもできます
使用する helm が増えてきた場合にはかなり強力ツールになるかなと思います
0 件のコメント:
コメントを投稿