望ましい状態を書いても、手で触られれば離れます。直さなければ90日で平均88.0件でした。
1日ごとに直せば1.9件です。書くことと、近づけ続けることは別の作業になります。
書くことと、近づけ続けることは別です。近づける仕組みを動かさなければ離れていきます。
Kubernetesに書くのは、望ましい状態です。公式はKubernetesを使って、配った入れ物の望ましい状態を記述でき、実際の状態を望ましい状態へ、制御された速さで変えていけると述べています。
この「変えていける」が要点です。書いた時点で保たれるのではありません。
近づける作業をどれだけの間隔で行うかで、ずれの量が変わります。対象400件を90日運用して数えました。
管理する対象 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件、最大では206件です。400件のうち半分がずれた状態になります。
1日ごとなら1.9件です。46分の1になります。
公式は自動化の範囲も示しています。Kubernetesは、分散した系を強く動かすための枠組みを提供する。あなたのアプリケーションの規模の増減と切り替えを引き受け、配布のやり方などを提供するという記述です。
つまり近づける仕組みは備わっています。備わっていないのは、書いた内容が最新であることの保証です。
同じ構図を、記録を起点に突き合わせる仕組みで扱ったのがArgoCDの記事です。直す間隔の話はそちらと共通します。
You can describe the desired state for your deployed containers using Kubernetes, and it can change the actual state to the desired state at a controlled rate.原文Kubernetes 公式ドキュメント「Overview」 この内容の有効期限2027-02-18
止まれば別のものが立ち上がります。だからこそ、一度にどれだけ入れ替えるかが効きます。
Kubernetesが自動で行うことを、公式はこう書いています。Kubernetesは、失敗した入れ物を再起動し、入れ物を置き換え、利用者が定めた健全性の確認に応じない入れ物を止め、提供できる状態になるまで呼ぶ側に知らせないという記述です。
この仕組みは、新しい版へ入れ替えるときにも働きます。一度に何台を入れ替えるかで結果が変わります。
台数 20台・1秒あたり 400件の要求。1台の入れ替えに 30秒 新しい版に当たった要求の 8%が失敗する。気づいて止めるまで 90秒かかる やり方 組の数 全部終わるまで 失敗した要求 最初の1組で失敗した要求 一斉に入れ替える 1組 30秒 2,880件 960件 4台ずつ入れ替える 5組 150秒 1,152件 192件 1台ずつ入れ替える 20組 600秒 288件 48件
一斉なら2880件、1台ずつなら288件です。10分の1になります。
全部終わるまでは30秒から600秒へ延びます。20倍です。
この計測では、気づくまでの90秒をどのやり方でも同じとしました。
90秒を45秒に縮められれば、どの行も半分になります。分ける以上に効く場合があります。
だから手を入れる先は2つです。一度に入れ替える数と、気づくまでの時間です。
分けるほど届く失敗は減り、終わるまでは延びる。
Kubernetes restarts containers that fail, replaces containers, kills containers that don't respond to your user-defined health check, and doesn't advertise them to clients until they are ready to serve.原文Kubernetes 公式ドキュメント「Overview」 この内容の有効期限2027-02-18
費用が立つのは台の側です。どの順で置くかによって、同じ台数に載る量が変わります。
Kubernetesの位置づけは、公式の1文にあります。Kubernetesは、宣言による設定と自動化の両方を助ける、入れ物に収めた作業負荷とサービスを管理するための、持ち運べて拡張できる公開された基盤であるという記述です。
管理する対象は台の上に乗ります。費用が立つのはその台なので、どれだけ載るかが効きます。
1台の容量 80・20台。仕事 600件の要求の合計は 8474 全部を隙間なく詰められたとしても 106台ぶんになる 詰め方 載った仕事 載らなかった 使えた容量 空いたまま 来た順に詰める 127件 473件 99.2% 13 大きい順に詰める 60件 540件 99.9% 1 小さい順に詰める 258件 342件 97.3% 44
小さい順なら258件、大きい順なら60件です。同じ20台で4.3倍の差になります。
「使えた容量」は大きい順が最も高く99.9%です。件数とは逆を向きます。
この詰め方は、それぞれの仕事が申告した要求の大きさで決まります。多めに申告すれば、その分だけ載る数が減ります。
実際に使う量より多く申告している場合、台は空いているのに載らないという状態になります。
だから見るべきは2つです。申告した量と、実際に使った量です。前者だけを見ていると、台を増やす判断に傾きます。
手で触られる件数、気づくまでの時間、仕事の要求の大きさはいずれも置いた値です。実際の構成では、触られ方にも要求の大きさにも偏りがあります。置き換えの計算も、新しい版になった台数の割合に比例して失敗が起きるという単純な形にしました。ここで見せているのは、書くことと近づけ続けることが別であること、置き換えと詰め方がそれぞれ別の量を動かすことです。
Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services that facilitate both declarative configuration and automation.原文Kubernetes 公式ドキュメント「Overview」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る