learnk8sでKubernetesなどを教えているDaniele Polencicが、Kubernetesクラスターに最適なインスタンスサイズを選択するためのサイトを公開した。
Kubernetes instance calculator
このサイトを使うと、ワークロードに基づいて、クラスタに最適なインスタンスタイプを検討することができる。
使い方
まずはじめに、インスタンスのリストをポッドあたりのコスト(POD$)か効率性(EFFICIENCY)で並べ変える。
クレジット: learnk8s
それから、ポッドのメモリとCPUを調整する。
クレジット: learnk8s
リストの最初が最適なインスタンスになる。
KubernetesノードはデーモンやOSなどのプロセスを実行する必要があり、すべてのCPUとメモリをポッドの実行に使用できるわけではない。
そのため、以下のように計算になっている。
クレジット: learnk8s
ノードに十分なスペースが残っていない場合、Kubernetesがワークロードを立ち退かせるため、しきい値(Eviction threshold)を設けているようだ。
目次
ページをスクロールしていくと、使い方などのコンテンツが続いている。
ここでは、目次のみ紹介する。
- 最適なKubernetesのノードタイプを探す
- AKSのポッドの最大数は?
- GKEのポッドの最大数は?
- EKSのポッドの最大数は?
- ノードのオーバーコミットをどのように計算するのか?
- ノードの効率をどのように計算するのか?
- ポッドや未使用のリソースのコストはどのように計算するのか?
- ノードあたりのポッドの最大数はどのように計算するのか?
- ポッドの種類を増やすにはどうすればいいか?
- クラスター内のノードの種類を限定して使用すべきか?
- ノードがKubernetesのスケーリングに与える影響は?
- その他、Kubernetesのノードタイプを選択する際に考慮すべき点はあるか?
- AKSノードについて、他に知っておくべきことはあるか?
- オンプレミスのクラスターに適切なインスタンスタイプを選択するにはどうすればよいか?
- そのデータはオープンソースか?
- コントリビュート
Danieleはツイートで以下のように述べている。
「いくつかのスライダーをドラッグするだけで実験ができます!」
「これで次のKubernetesクラスタを設計する際の時間短縮になれば幸いです」