了解 flannel 的 kubeadm init 命令
Understanding kubeadm init command for flannel
要使用 flannel 安装 kubernetes,最初需要 运行:
kubeadm init --pod-network-cidr 10.244.0.0/16
问题是:
- "pod-network-cidr" 的目的是什么?
- “10.244.0.0/16”这样的IP是什么意思?
- flannel后来怎么用这个?
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
要使用 flannel 安装 kubernetes,最初需要 运行:
kubeadm init --pod-network-cidr 10.244.0.0/16
问题是:
- "pod-network-cidr" 的目的是什么?
- “10.244.0.0/16”这样的IP是什么意思?
- flannel后来怎么用这个?
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