了解 flannel 的 kubeadm init 命令

Understanding kubeadm init command for flannel

要使用 flannel 安装 kubernetes,最初需要 运行:

kubeadm init --pod-network-cidr 10.244.0.0/16

问题是:

pod-network-cidr 是 pods 将使用的虚拟网络。也就是说,任何创建的 Pod 都将获得该范围内的 IP。

之所以在flannel中设置这个参数是因为:https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml

我们来看看配置:

  net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan"
      }
    }

kube-flannel yml 文件将 10.244.0.0/16 硬编码为网络值。如果您想使用另一个网络(例如,kubeadm 使用的默认网络),则必须修改 yml 以匹配该网络。从这个意义上说,简单地使用 10.244.0.0/16 启动 kubeadm 更容易,这样 yml 就可以开箱即用。

通过该配置,flannel 将相应地配置不同节点中的覆盖。此处有更多详细信息:https://blog.laputa.io/kubernetes-flannel-networking-6a1cb1f8ec7c