我正在从头开始设置 Kubernetes 集群。我希望在安装过程中安装 Flannel。当我查看在线指南/示例时,我可以看到有必要配置 Flannel 子网。
我可以看到一些指南(deploying-kubernetes-using-ansible.html)像这样设置法兰绒网络:
{
"Network": "172.16.0.0/12",
"SubnetLen": 24,
"Backend": {
"Type": "vxlan"
}
}
而这里的另一个指南(Kubernetes – 在 CentOS 7 上简单安装)像这样设置网络:
{"Network":"172.17.0.0/16"}
我仍在学习 CIDR 表示法,因此我可以看到第一种方法可用的 IP 地址比第二种方法多。第二个 URL 指出:
您的所有 kubernetes 节点将同时位于 3 个不同的子网中:
外部接口子网:
10.0.1.0/24 Flannel 子网:172.17.0.0/16 #不使用现有子网
服务集群子网:10.10.10.0/24 #不使用现有子网
我可以从维基百科(私有 IPv4 地址空间)中看到,172 范围是高达 /12 的私有地址空间。
在我看来,这句话的含义是:
- 外部接口:/24(由网络管理员设置)== 外部网络上最多 255 个主机。这是集群中的最大节点数。
- Flannel 子网:172.17.0.0/16(由 Flannel 配置设置)== Flannel 网络中最多 65535 个 IP。这是什么意思?
- 服务集群:10.10.10.0/24(由 KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.10.10.0/24" 设置)== 集群中最多 255 个服务?(这里的文档)
将 Flannel 配置更改为 /12(或 12..31 中的任何其他数字)的实际含义是什么?
同样的问题,service-cluster-ip-range
您如何消除服务 IP 与 pod 的 IP 的冲突?