因为Kubernetes认为默认的Docker网络存在缺陷,所以它具有相当新颖的网络模型。虽然我仍在努力理解:(1)它认为实际缺陷是什么,以及(2)Kubernetes的一般解决方案是什么,但现在我已经到了想要实施解决方案并可能会更好地理解的地步。
尽管Kubernetes的其余文档非常成熟和写得很好,但配置网络的说明很少,基本上不连贯,并且涉及许多不同的文章,而不是位于一个特定的位置。
我希望之前(从头开始)设置过Kubernetes集群的人可以帮助我了解基本程序。我对在GCE或AWS上运行不感兴趣,目前也不想使用任何覆盖网络,如flannel。
我的基本理解是:
1. 为所有pod划分一个/16子网。这将限制您最多可拥有65K个pod,这应该对大多数正常应用程序来说足够了。此子网中的所有IP地址都必须是“公共”的,而不是在传统私有(类别)范围内。 2. 在某个地方创建一个cbr0桥并确保其持久(但在哪台机器上?) 3. 删除/禁用Docker安装的MASQUERADE规则。 4. 以某种方式配置iptables路由(同样,在哪里?),以便Kubernetes创建的每个pod都接收其中一个公共IP地址。 5. 需要进行其他设置,以利用负载平衡服务和动态DNS。 6. 为1个主节点和4个从节点提供5个VM 7. 在所有5个VM上安装/配置Docker 8. 在主节点上安装/配置kubectl、controller-manager、apiserver和etcd,并将它们作为服务/守护程序运行 9. 在每个从节点上安装/配置kubelet和kube-proxy,并将它们作为服务/守护程序运行
这是我在两天的研究中收集到的最好的信息,但它们很可能是错误的(或误导的),顺序不正确,并且完全不完整。
我可以自由访问在本地vCenter集群中创建VM。如果需要更改VLAN/Switches等,则可以涉及基础设施。
对于一个中小型集群,我应该设置多少个VM,并为什么?我需要对上面模糊的指令做出哪些确切的更正,以使网络完全配置?
我擅长安装/配置所有二进制文件。只是对设置的网络部分完全无从下手。
尽管Kubernetes的其余文档非常成熟和写得很好,但配置网络的说明很少,基本上不连贯,并且涉及许多不同的文章,而不是位于一个特定的位置。
我希望之前(从头开始)设置过Kubernetes集群的人可以帮助我了解基本程序。我对在GCE或AWS上运行不感兴趣,目前也不想使用任何覆盖网络,如flannel。
我的基本理解是:
1. 为所有pod划分一个/16子网。这将限制您最多可拥有65K个pod,这应该对大多数正常应用程序来说足够了。此子网中的所有IP地址都必须是“公共”的,而不是在传统私有(类别)范围内。 2. 在某个地方创建一个cbr0桥并确保其持久(但在哪台机器上?) 3. 删除/禁用Docker安装的MASQUERADE规则。 4. 以某种方式配置iptables路由(同样,在哪里?),以便Kubernetes创建的每个pod都接收其中一个公共IP地址。 5. 需要进行其他设置,以利用负载平衡服务和动态DNS。 6. 为1个主节点和4个从节点提供5个VM 7. 在所有5个VM上安装/配置Docker 8. 在主节点上安装/配置kubectl、controller-manager、apiserver和etcd,并将它们作为服务/守护程序运行 9. 在每个从节点上安装/配置kubelet和kube-proxy,并将它们作为服务/守护程序运行
这是我在两天的研究中收集到的最好的信息,但它们很可能是错误的(或误导的),顺序不正确,并且完全不完整。
我可以自由访问在本地vCenter集群中创建VM。如果需要更改VLAN/Switches等,则可以涉及基础设施。
对于一个中小型集群,我应该设置多少个VM,并为什么?我需要对上面模糊的指令做出哪些确切的更正,以使网络完全配置?
我擅长安装/配置所有二进制文件。只是对设置的网络部分完全无从下手。