クラウド実行環境

Helmとは|値を1つ変えたときの対象は中央値8個、99%点では228個だった

何を組み合わせる仕組みなのか値を1つ変えると何個に及ぶのか入れたあと何がずれるのか

ひな型と値から資源240個ができる構成で、値を1つ変えたときの対象は中央値8個でした。

99%点では228個、全体の95.0%です。値の見た目からは、この差が読めません。

この記事の要点

  • 20行が240個
  • 波及の中央値8個
  • 99%点は228個
  • 直さないと88.0件ずれる

書いた量と、作られる資源の数が一致しない

ひな型と値から定義が生まれます。値を数行書けば、その先で資源が展開されます。

Helmの1つのまとまりが受け持つ範囲は、幅があります。公式は1つのまとまりは、memcachedの1つの入れ物のような単純なものを配るのにも、HTTPの受け口やデータベースや手前の入れ物を備えた完全なウェブの一式のような複雑なものを配るのにも使われうると説明しています。

まとめ方の単位も定められています。1つのまとまりとは、関連するKubernetesの資源の集合を記述するファイルの集まりであるという記述です。

まとまりの中にはひな型が入っており、書くのは値だけです。資源はその先で作られます。どれだけ増えるかを数えました。

書いた行と作られる資源

text
書いた行数 20行。1行が何個の資源になるかで比べる

書き方                    作られる資源  1行あたり  定義の行数(1資源10行として)
生の資源を1つずつ書く                        20個        1.0個                          200行
低い水準の部品を使う                         60個        3.0個                          600行
高い水準の部品を使う                        240個       12.0個                         2400行

まとまった部品を使うと、20行が240個の資源になります。1行あたり12.0個です。

定義の行数にすれば2400行です。書いた20行の120倍になります。

見えなくなるもの

  1. 何ができたか。値の側に出てこない
  2. 費用が立つ資源。数だけ請求が増える
  3. 既定の設定。ひな型の作者が決めている
  4. 版を上げたときの差。値を変えていなくても変わる

4番目が起きやすいものです。値は同じでも、ひな型の版が変われば結果が変わります

だから確かめる先は値ではありません。展開された結果のほうになります。

出典Helm 公式ドキュメント「Charts」2026-08-18 確認
A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
原文Helm 公式ドキュメント「Charts」 この内容の有効期限2027-02-18

値を1つ変えたときの対象は中央値8個、99%点では228個

資源のあいだに依存があります。半分の変更は小さく、一部だけが構成のほぼ全体に及びます。

Helmのまとまりは、関連する資源をひとまとめにします。公式は1つのまとまりとは、関連するKubernetesの資源の集合を記述するファイルの集まりであると定めています。

関連しているので、1つ変えると他にも及びます。240通りすべてを試しました。

波及の広さ

text
作られた資源 240個。1つを変えたとき、作り直しの対象になる資源を数える

やり方              対象の資源  全体に対する割合
中央値                         8個              3.3%
平均                         55個             22.9%
99%点                      228個             95.0%
最大                        240個            100.0%

中央値は8個、99%点は228個です。28倍の幅があります。

値の見た目では区別できません。1行の変更が8個にも228個にもなります

先に差分を出す

だから入れる前に、展開した結果の差分を出すことになります。値の差分ではありません。

見るのは3つです。対象になる資源の数、置き換えになるもの、消えるものです。

同じ形の分布は、まとまった部品を展開する仕組みで繰り返し出ます。その計測はAWS CDKの記事にもあります。

半分は8個で収まり、一部が構成のほぼ全体に及ぶ。

p50 ─ p99(個)作られた資源の総数240/240変更の対象になる資源8/228資源240個それぞれを変えた場合を全通り試した結果。平均は55個で、中央値の7倍にあたる。
図1 ── 値を1つ変えたときに対象になる資源
出典Helm 公式ドキュメント「Charts」2026-08-18 確認
A chart is a collection of files that describe a related set of Kubernetes resources.
原文Helm 公式ドキュメント「Charts」 この内容の有効期限2027-02-18

入れたあとも、手で触られればずれていく

まとまりはファイルとして残ります。ただし、入れた先の実際の状態は別に動きます。

Helmのまとまりは、決まった並びのファイルです。公式はまとまりは、特定の階層に並べられたファイルとして作られると述べています。

ファイルは版で管理できます。ただし、入れた先の実際の状態までは追いません

入れたあとのずれ

text
管理する対象 400件・90日ぶん。1日に平均 1.2件が手で触られる
宣言した状態に戻す作業を、決めた間隔で行う

直す間隔      ずれている件数(平均)  最大  直した回数  1回あたり直す件数
直さない                           88.0件    206件        0.0回                0.0件
1日ごと                            1.9件      8件       90.0回                1.9件
7日ごと                            7.7件     25件       12.0回               13.5件
30日ごと                          30.0件     75件        3.0回               58.2件

直さなければ88.0件まで積もります。入れたときの状態のままではありません。

ずれた状態で新しい版を入れると、意図しない変更が混ざります。手で足したものが消える、といった形です。

順序を決めておく

だから順序があります。ずれを先に解消してから、新しい版を入れることです。

そこに前の節の波及が乗ります。混ざった1件が228個に及ぶ側だった場合、被害が広がります。

常駐して突き合わせ続ける形にすると、この順序を自動で保てます。その数字はArgoCDの記事で扱いました。

余談 この計測での注意

1行あたり何個の資源になるかは置いた値で、実際にはまとまりによって大きく違います。資源のつながりも式で作ったもので、実際の依存はもっと偏ります。手で触られる件数も置いた値です。ここで見せているのは、書いた量と作られる量が一致しないこと、変更の波及が中央値と上位で桁違いになることの2つです。どちらも展開した結果の差分を出せば確かめられます。

出典Helm 公式ドキュメント「Charts」2026-08-18 確認
Charts are created as files laid out in a particular directory tree.
原文Helm 公式ドキュメント「Charts」 この内容の有効期限2027-02-18

よくある質問

Helmは何を組み合わせますか
ひな型と値です。ひな型の入った場所が値と組み合わされて、正しい定義のファイルを生み出します。
値を1つ変えると何個に及びますか
この計測では中央値8個でした。ただし99%点は228個で、全体の95.0%にあたります。
書いた量と作られる量は同じですか
違います。この計測では20行が240個の資源になりました。1行あたり12.0個です。
入れたあと何がずれますか
手で触られた分です。直さなければ、この計測では90日で平均88.0件でした。

まとめ

  • ひな型と値を組み合わせる
  • 1行が複数の資源になる
  • 波及は上位で桁が変わる
  • 入れたあともずれていく

今日から始められること

  1. 使っているひな型から作られる資源を数える
  2. 値を変えたときの差分を出す
  3. 対象になる資源の数を確かめる
  4. 手で触られている対象を数える

実務で組んだHelmのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る