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