[Helm入門] Templateで使える関数の実行例 ~ 文字列分割編 ~

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Helmのテンプレートで文字列分割の関数を使っていますか?

HelmはKubernetes用のパッケージ管理ソフトウェアです。HelmはChartと呼ばれる設計図をもとに、Kubernetesのマニフェストを作成し、パッケージをインストールします。ChartはGoのテンプレートを利用していて、Sprigの関数を利用することができます。本記事ではHelmテンプレートでのSprig関数のうち、文字列分割操作の使用例を紹介します。

分割以外の文字列操作については、別の記事で紹介をしています。

TL;DR

目次

検証環境

実行例のhelmバージョンは、以下の通りです。

事前準備

検証用のHelmチャートを作成します。

  1. helm createコマンドでチャートのひな形を作成します。
  2. rmコマンドで不要なファイルを削除します。
  3. 検証のYAMLファイルを作成します。今回はConfigMapを作成するYAMLを作成しています。
  4. helm install --dry-run --debugコマンドで実行確認をします。--dry-run オプションを利用することで、Kuernetes上にConfigMapのリソースをインストールしないで、実行結果の確認を行うことができます。

String Slice Functions

join

joinは、文字列のリストを指定したセパレータで結合します。パラメータとして、セパレータを指定します。

splitList

splitListは、文字列を指定したセパレータで分割したリストを返します。パラメータとして、セパレータを指定します。

split

splitは、文字列を指定したセパレータで分割した文字列を辞書型で返します。パラメータとして、セパレータを指定します。

splitn

splitnは、文字列を指定したセパレータで分割した文字列を辞書型で返します。パラメータとして、セパレータと分割数を指定します。

splitは、すべてのセパレータで分割されますが、splitnは、指定した数だけ分割されます。分割されなかった文字列は、最後のデータにまとめて表示されます。

sortAlpha

sortAlphaは文字列のリストをアルファベットの昇順に並び替えます。

おわりに

本記事ではHelmテンプレートでのSprig関数のうち、文字列分割操作の使用例を紹介しました。公開されているチャートでも、リリース名やラベル名を変換するのにjoinsplitが使われていたりします。文字列分割操作の関数を上手につかってリリース名やラベル名を見やすくし、わかりやすいDevOpsを目指していきましょう。

スカイアーチ ファンタジー研究室

スカイアーチ ファンタジー研究室

EasyDoggie