rkeクラスタのcidrを弄ったら、以下のようなエラーが出てクラスタの作成が失敗した。
| |
cluster.yamlの関連部分は以下のようになっています。
| |
問題になる場所はCIDRのマスクサイズです。このマスクサイズは--node-cidr-mask-sizeで設定され、クラスタのCIDRのマスクサイズより大きく(IP範囲が少なく)なる必要があります。デフォルトは24のため、上記の設定の25より小さい(IP範囲が溢れた)のでエラーとなりました。
この--node-cidr-mask-sizeは、以下のようにextra_argsで変更することができます。
| |
25, 26のような数字に設定したら、クラスタの作成ができるようになります。
このマスクサイズとノードあたりで利用できるPod数の関係として、Pod の追加 / 削除などを考慮し、確保したIPアドレスの数の半分ぐらいが実際に作成できるPodの数となります。
例えば、cluster_cidrのマスクが25なので、クラスタレベルのIPアドレス数は128個です。
1ノードの場合、--node-cidr-mask-sizeを同じく25を設定したら128個のIPアドレスが確保され、33~64のPodが作成できます。
3ノードの場合、ノードあたりのIP数は42個までしか使えなくて、--node-cidr-mask-sizeを27に設定しなければいけません。そうすると、Pod数は 9~16になります。
システムレベルのPod(corednsなど)も10個程度あるので、28にしたら業務Pod用のIPアドレスが足りなくなります。
また、上記にあわせてmax-podsの設定も必要です。
| |
参考まで https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr