service-cluster-ip-range 和cluster-cidr 设置相同的地址段,导致 没有可用cidr

新装的k8s v1.22.5 因为 在k8s kube-apiserver 和kube-controller-manager 中的 --service-cluster-ip-range [service 用的ip地址段和 cluster-cidr 【给node分配的地址段】,两则都设置了 172....

新装的k8s v1.22.5 因为 在k8s kube-apiserver 和kube-controller-manager 中的 --service-cluster-ip-range [service 用的ip地址段和 cluster-cidr 【给node分配的地址段】,两则都设置了 172.16.0.0/16  导致kube-controller-manager 报没有CIDR可用。

 Error while processing Node Add/Delete: failed to allocate cidr from cluster cidr at idx:0: CIDR allocation failed; there are no remaining CIDRs left to allocate in the accepted range


其实 --service-cluster-ip-range=172.16.18.0/16    cluster-cidr=172.16.188.0/16 虽然两则还是属于同一个网段,区分开来就行。一旦用到生产环境,改动起来就比较麻烦。


k8s 一般给node分配的掩码为 24, 这相当于划分了 256个子网2^(24-16)=256 ,每个网段ip地址为 2^(32-24)-2=254 

分配子网也可以根据 node个数来分配,比如你有9个节点,可以使用 掩码为20 ,个16个子网,够节点使用了,不过为了以后扩展节点,尽量预留多些。

google的建议:每个node上分配的ip最好为pod 数量的两倍,以避免不必要的ip冲突。






  • 发表于 2022-02-02 21:43
  • 阅读 ( 36 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章