0

我正在从头开始设置 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 的冲突?

4

1 回答 1

1

实际上法兰绒配置Network(/12)必须小于(/24)SubnetLen。外部接口子网是您主机的子网。service-cluster-ip-range是虚拟的范围clusterIP(默认由 iptables 在 kubernetes 中实现)。iptables和routes在ip范围相同时会出现冲突。所以我们应该为他们指定不同的IP范围。

于 2017-05-10T16:44:01.200 回答