16.4. 在 Master 中配置 Pod 网络
集群管理员可以通过修改 master 配置文件的 networkConfig
部分中的参数(默认位于 /etc/origin/ master /master-config.yaml )来控制 master 主机上的 pod 网络设置:
为单个 CIDR 配置 pod 网络
networkConfig: clusterNetworks: - cidr: 10.128.0.0/14 1 hostSubnetLength: 9 2 networkPluginName: "redhat/openshift-ovs-subnet" 3 serviceNetworkCIDR: 172.30.0.0/16 4
另外,您可以通过将单独的范围添加到带有范围和 hostSubnetLength
的 clusterNetworks
字段中,创建具有多个 CIDR 范围的 pod 网络。
可将多个范围用于一次,而且该范围可以被扩展或合同。通过撤离节点,可以把节点从一个范围移到另一个范围,然后删除并重新创建节点。如需更多信息,请参阅 管理节点 部分。列出顺序出现节点分配,然后在范围已满后移至列表上的下一个操作。
为多个 CIDR 配置 pod 网络
networkConfig: clusterNetworks: - cidr: 10.128.0.0/14 1 hostSubnetLength: 9 2 - cidr: 10.132.0.0/14 hostSubnetLength: 9 externalIPNetworkCIDRs: null hostSubnetLength: 9 ingressIPNetworkCIDR: 172.29.0.0/16 networkPluginName: redhat/openshift-ovs-multitenant 3 serviceNetworkCIDR: 172.30.0.0/16
您可以将元素添加到 clusterNetworks
值,如果没有节点正在使用这个 CIDR 范围,则删除它们。
在集群首次创建后无法更改 hostSubnetLength
值,cidr
项只能更改为一个更大的网络,它需要仍然包含原始网络(如果节点在它的范围内分配),且只能扩展 serviceNetworkCIDR
。例如,对于 10.128.0.0/14 的典型值,您可以将 cidr
改为 10.128.0.0/9 (例如,net 10 的整个上半个)而不是 10.64.0.0/16,因为这不会重叠原始值。
您可以将 serviceNetworkCIDR
从 172.30.0.0/16 改为 172.30.0.0/15,但不改为 172.28.0.0/14,因为原始范围完全位于 CIDR 的开头。如需更多信息,请参阅扩展服务网络。
确保重启 API 和 master 服务以使任何更改生效:
$ master-restart api $ master-restart controllers
节点上的 pod 网络设置必须与 master 上的 networkConfig.clusterNetworks 参数配置的 pod 网络设置匹配。这可以通过修改相应节点 配置映射的 networkConfig
部分中的参数来实现 :
proxyArguments:
cluster-cidr:
- 10.128.0.0/12 1
- 1
- CIDR 值必须包含在 master 级别上定义的所有集群网络 CIDR 范围,但不与其他 IP 范围冲突,如用于节点和服务。
在重启 master 服务后,必须将配置传播到节点。在每个节点上,必须重启 atomic-openshift-node 服务和 ovs pod。为了避免停机遵循 管理节点 中定义的步骤,并一次为每个节点或一组节点执行以下步骤:
将节点标记为不可调度。
# oc adm manage-node <node1> <node2> --schedulable=false
排空节点:
# oc adm drain <node1> <node2>
重启节点:
# reboot
将节点重新标记为可调度:
# oc adm manage-node <node1> <node2> --schedulable