2021年6月9日水曜日

helmfile 超入門

helmfile 超入門

概要

helmfile は helm の values.yaml やパラメータ、バージョン情報などを YAML ファイルで宣言的に管理できるツールです 今回はインストール方法と簡単な使い方を紹介します

環境

  • Ubuntu 18.04
  • helm v3.5.2
  • helmfile 0.139.7

helmfile のインストール

まずは helmfile コマンドをインストールします 少しややこしいですが helmfile はコマンド名にもなっています

バイナリを 1 配置するだけで完了です docker でも動作させることができますが今回はバイナリインストールを採用します

helmfile version v0.139.7

helm diff プラグインのインストール

helmfile の一部のコマンドが 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 件のコメント:

コメントを投稿