4.22. 配置要在 control plane 上运行的网络组件
您可以配置网络组件,使其仅在 control plane 节点上运行。默认情况下,OpenShift Container Platform 允许机器配置池中的任何节点托管 ingressVIP 虚拟 IP 地址。但是,有些环境在与 control plane 节点独立的子网中部署 worker 节点,这需要将 ingressVIP 虚拟 IP 地址配置为在 control plane 节点上运行。
您可以通过在单独的子网中创建 worker machineset 来扩展远程 worker。
在单独的子网中部署远程 worker 时,您必须将 ingressVIP 虚拟 IP 地址专门用于 control plane 节点。
流程
进入存储
install-config.yaml文件的目录:$ cd ~/clusterconfigs切换到
manifests子目录:$ cd manifests创建名为
cluster-network-avoid-workers-99-config.yaml的文件:$ touch cluster-network-avoid-workers-99-config.yaml在编辑器中打开
cluster-network-avoid-workers-99-config.yaml文件,并输入描述 Operator 配置的自定义资源(CR):apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: 50-worker-fix-ipi-rwn labels: machineconfiguration.openshift.io/role: worker spec: config: ignition: version: 3.2.0 storage: files: - path: /etc/kubernetes/manifests/keepalived.yaml mode: 0644 contents: source: data:,此清单将
ingressVIP虚拟 IP 地址放在 control plane 节点上。另外,此清单仅在 control plane 节点上部署以下进程:-
openshift-ingress-operator -
keepalived
-
-
保存
cluster-network-avoid-workers-99-config.yaml文件。 创建
manifests/cluster-ingress-default-ingresscontroller.yaml文件:apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: default namespace: openshift-ingress-operator spec: nodePlacement: nodeSelector: matchLabels: node-role.kubernetes.io/master: ""-
考虑备份
manifests目录。在创建集群时,安装程序会删除manifests/目录。 通过将
mastersSchedulable字段设置为true来修改cluster-scheduler-02-config.yml清单,使 control plane 节点可以调度。默认情况下,control plane 节点不可调度。例如:$ sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml注意如果在完成此步骤后 control plane 节点不可调度,则部署集群将失败。