1台を1,000から16,000に変えると、必要な台数は268台から27台になりました。
同時に、1台落ちたときの巻き添えが0.4%から3.7%に増えます。逆向きに動きます。
台の大きさは自由に選べます。詰まり具合と、1台落ちたときの影響が逆に動きます。
GKEは、台の集まりでできています。公式はGKEの環境は台からなり、それらはCompute Engineの仮想計算機で、まとめられて1つのまとまりを作ると述べています。
台の大きさは選べます。何が変わるのか実際に詰めて数えました。
入れ物 1,200個・合計 418,669ミリコア(いちばん大きい入れ物は 2,390)
1台ごとに 350ミリコアは仕組みが使う。1台の大きさを変えて詰めてみる
1台の枠 使える枠 必要な台数 入りきらない入れ物 使われた割合 1台落ちたときに載っていた割合
1,000 650 268台 154個 99.4% 0.4%
2,000 1,650 154台 83個 99.4% 0.6%
4,000 3,650 115台 0個 99.7% 0.9%
8,000 7,650 55台 0個 99.5% 1.8%
16,000 15,650 27台 0個 99.1% 3.7%
台数は268台から27台まで減ります。10分の1です。
そのかわり1台落ちたときの巻き添えが0.4%から3.7%になります。9倍です。
枠1,000では、使える枠が650しかありません。154個の入れ物が載せられませんでした。
1台ごとに350ミリコアが仕組みに使われるためです。小さい台ほど、この引かれる分の割合が大きくなります。
だから下限は、いちばん大きい入れ物の要求量で決まります。ここでは2,390なので、枠4,000から上でないと全部は載りません。
台数と巻き添えは、同時には小さくできない。
A GKE environment consists of nodes, which are Compute Engine virtual machines (VMs), that are grouped together to form a cluster.原文Google Cloud ドキュメント「GKE overview」 この内容の有効期限2027-02-18
自分で群れを管理する形は勧められていません。分けるほど端数が積み上がります。
GKEでは、自分で台の群れを管理する形は限定して勧められています。公式は台の群れとまとまりを手で管理する具体的な必要があると分かっている場合にだけ、標準の形を使うことと述べています。
手で分けると何が起きるのか。実際に数えて比べました。
1台の枠は 4,000ミリコア。用途ごとに台の群れを分けるかどうかで、余りがどう変わるか 分け方 必要な台数 用意した枠 使う分 余り 余りの割合 まとめて1つの群れ 5台 20,000 18,200 1,800 9.0% 用途ごとに4つの群れ 7台 28,000 18,200 9,800 35.0%
まとめれば5台、余りは9.0%です。4つに分けると7台になり、余りは35.0%でした。
使う分は同じ18,200です。増えたのは端数だけでした。
用途ごとの内訳 用途 使う分 必要な台数 用意した枠 余り 通常の処理 9,200 3台 12,000 2,800 記憶を多く使う処理 5,100 2台 8,000 2,900 GPUを使う処理 2,600 1台 4,000 1,400 夜だけ動く処理 1,300 1台 4,000 2,700
夜だけ動く処理は1,300しか使わないのに、1台ぶんの4,000を押さえます。余りは2,700です。
ただし記憶やGPUの要件が違えば、同じ台には載せられません。分ける必要があるかどうかが先の判断になります。
何を同じ台に載せてよいかの整理はKubernetesの記事で扱いました。
Only use Standard mode if you know you have a specific need to manually manage the node pools and clusters.原文Google Cloud ドキュメント「GKE overview」 この内容の有効期限2027-02-18
更新のやり方を選べます。ただし余分な台の総量は、どのやり方でも同じでした。
GKEの標準の形では、更新のやり方を選べます。公式はGKEの標準の形では、可用性を最適にし中断を扱うための、柔軟な台の更新の戦略があると述べています。
選び方で何が変わるのか。実際に数えて比べました。
更新のあいだ、いくつまで余分に立てるかを変える(もとは 40台)
余分に立てる割合 同時に存在する台数 更新にかかる巡回数 余分な台の費用(1回あたり)
10% 44台 10回 4台ぶん × 10回
25% 50台 4回 10台ぶん × 4回
50% 60台 2回 20台ぶん × 2回
100% 80台 1回 40台ぶん × 1回
10%なら巡回は10回、100%なら1回です。更新にかかる時間は10分の1になります。
ところが右端を掛け算すると、どの行も40台ぶんです。費用としては変わりません。
費用が同じなら、決め手は別のところにあります。同時に存在する台数の上限です。
100%なら80台が同時に立ちます。枠の上限に引っかかれば、この選び方はできません。
3つの計測はいずれも手元で書いた模型で、実際のGKEを動かしたものではありません。1台あたり350ミリコアが引かれるという値は置いたもので、実際は台の大きさによって変わります。詰め方も大きい順に空いている台へ入れる方式ひとつだけです。用途ごとの使う量も置いた値です。更新の費用は台の時間だけを見ており、更新中の余裕や失敗の手戻りは含めていません。ここで見せているのは、台数と巻き添えが逆に動くという点と、群れを分けると端数が数のぶんだけ積み上がるという点の2つです。
In GKE Standard mode, flexible node upgrade strategies to optimize availability and manage disruptions.原文Google Cloud ドキュメント「GKE overview」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る