如何为Kubernetes集群确定适当的Pod CIDR值?

时间:2018-07-02 18:03:53

标签: kubernetes cidr kubeadm

我正在使用以下方法启动kubernetes集群:

kubeadm init --pod-network-cidr=192.168.1.0/16 --apiserver-advertise-address=192.168.0.33

我对网络概念或CIDR不太熟悉,如何确定Pod CIDR的适当值?

我以前使用过10.244.0.0/16,但结果是:

Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "78cf556b2e87e15cc5ec8827ca3a397c16dcfb90f045e225a17028f072db6e5f" network for pod "coredns-78fcdf6894-c7kq2": NetworkPlugin cni failed to set up pod "coredns-78fcdf6894-c7kq2_kube-system" network: failed to set bridge addr: "cni0" already has an IP address different from 10.244.1.1/24

1 个答案:

答案 0 :(得分:8)

关于CIDR(Classless Inter-Domain Routing):这只是定义要在网络中使用的IP地址的子网/范围的一种表示法。

如果要使用/16,则必须计划创建一个相当大的Kubernetes集群,因为它将为您提供>65k个虚拟IP地址(请注意,我们正在谈论SDN / Virtual网络,即您将为kubernetes POD设置的IP,而不是您的实际节点/主机。 这是一个CIDR表,您可以将其用作参考来确定更合适的范围: https://kb.wisc.edu/ns/page.php?id=3493

现在,就您的失败而言,取决于您在Kubernetes集群中使用的CNI(Container Networking Interface)插件。如果您使用的默认值必须为Kubenet,这是有局限性的。 此处有更多信息: https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/ 和这里: https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/

我希望有帮助。