はじめに
GKEの公式ドキュメントを読んでいて、以下の記載があった。コスパ最強のノードはどれなんだ・・・というのが気になったので、調べてみた。
注意すべき点として、ノードのリソースの一部は、そのノードをクラスタの一部として機能させるために必要な Kubernetes Engine と Kubernetes リソースを実行するために必要です。そのため、ノードの総リソース数(マシンタイプのドキュメントで指定されたもの)と Kubernetes Engine でのノードの割り当て可能リソース数との間に相違があることがあります。
前提条件
- 為替レート: 112.42 円/$
- Sustained Use Discount: 30%込
- Region: asia-northeast1(TOKYO)
- kubesystemが使用しているリソースは含まない(約400m CPU,400mi RAM)
- 1ノードの料金
結果発表
割当可能率のCPU,RAMの平均を取ると、 98.0%で n1-highmem-64。
コストのCPU,RAMの返金を取ると ¥2,243で n1-standard-96。
※f1-microは¥1,002だったけど、さすがに実運用にはつらすぎるので除外
マシンタイプ | RAM容量(GB) | 割当可能RAM(GB) | 割当可能率(RAM) | コスト(円/GB) | CPU容量(コア数) | 割当可能CPU(コア数) | 割当可能率(CPU) | コスト(円/コア) | コスト(円/月) |
---|---|---|---|---|---|---|---|---|---|
f1-micro | 0.6 | 0.6 | 100.0 | 881 | 0.5 | 0.47 | 94.0 | 1,124 | 528 |
g1-small | 1.7 | 1.2 | 70.6 | 1,541 | 0.5 | 0.47 | 94.0 | 3,935 | 1,849 |
standard-1 | 3.75 | 2.7 | 72.0 | 1,298 | 1 | 0.94 | 94.0 | 3,728 | 3,504 |
standard-2 | 7.5 | 5.7 | 76.0 | 1,230 | 2 | 1.93 | 96.5 | 3,631 | 7,008 |
standard-4 | 15 | 12.3 | 82.0 | 1,140 | 4 | 3.92 | 98.0 | 3,576 | 14,017 |
standard-8 | 30 | 26.6 | 88.7 | 1,054 | 8 | 7.91 | 98.9 | 3,544 | 28,034 |
standard-16 | 60 | 54.7 | 91.2 | 1,025 | 16 | 15.89 | 99.3 | 3,529 | 56,068 |
standard-32 | 120 | 111.2 | 92.7 | 1,008 | 32 | 31.85 | 99.5 | 3,521 | 112,136 |
standard-64 | 240 | 228.4 | 95.2 | 982 | 64 | 63.77 | 99.6 | 3,517 | 224,271 |
standard-96 | 360 | 346.4 | 96.2 | 971 | 96 | 95.69 | 99.7 | 3,516 | 336,408 |
highmem-2 | 13 | 10.7 | 82.3 | 814 | 2 | 1.93 | 96.5 | 4,515 | 8,715 |
highmem-4 | 26 | 22.8 | 87.7 | 764 | 4 | 3.92 | 98.0 | 4,446 | 17,430 |
highmem-8 | 52 | 47.2 | 90.8 | 739 | 8 | 7.91 | 98.9 | 4,407 | 34,858 |
highmem-16 | 104 | 96 | 92.3 | 726 | 16 | 15.89 | 99.3 | 4,387 | 69,717 |
highmem-32 | 208 | 197.4 | 94.9 | 706 | 32 | 31.85 | 99.5 | 4,378 | 139,435 |
highmem-64 | 416 | 400.8 | 96.3 | 696 | 64 | 63.77 | 99.6 | 4,373 | 278,869 |
highmem-96 | 624 | 605.1 | 97.0 | 691 | 96 | 95.69 | 99.7 | 4,371 | 418,304 |
highcpu-2 | 1.8 | 1.3 | 72.2 | 4,021 | 2 | 1.93 | 96.5 | 2,709 | 5,228 |
highcpu-4 | 3.6 | 2.6 | 72.2 | 4,021 | 4 | 3.92 | 98.0 | 2,667 | 10,455 |
highcpu-8 | 7.2 | 5.5 | 76.4 | 3,802 | 8 | 7.91 | 98.9 | 2,644 | 20,910 |
highcpu-16 | 14.4 | 11.9 | 82.6 | 3,514 | 16 | 15.89 | 99.3 | 2,632 | 41,821 |
highcpu-32 | 28.8 | 25.3 | 87.8 | 3,306 | 32 | 31.85 | 99.5 | 2,626 | 83,643 |
highcpu-64 | 57.6 | 52.5 | 91.1 | 3,186 | 64 | 63.77 | 99.6 | 2,623 | 167,284 |
highcpu-96 | 86.4 | 79.6 | 92.1 | 3,152 | 96 | 95.69 | 99.7 | 2,622 | 250,927 |
まとめ
ワークロードによる。
っていう話だけど、本当にチューニングしていったらCustomMachineTypeになるんだろうな。
この辺は経験値をためていって、最適なノードサイズを選択して、コストバランスがいいようにしていく必要がある。