This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.4. 将 API 服务器限制为私有
将集群部署到 Amazon Web Services(AWS)或 Microsoft Azure 后,可以重新配置 API 服务器,使其只使用私有区。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
使用具有
admin
权限的用户登陆到 web 控制台。
流程
在 AWS 或 Azure 的 web 门户或控制台中,执行以下操作:
找到并删除相关的负载均衡器组件。
- 对于 AWS,删除外部负载均衡器。私有区的 API DNS 条目已指向内部负载均衡器,它使用相同的配置,因此您无需修改内部负载均衡器。
-
对于 Azure,删除负载均衡器的
api-internal
规则。
-
在公共区中删除
api.$clustername.$yourdomain
DNS 条目。
删除外部负载均衡器:
重要您只能对安装程序置备的基础架构 (IPI) 集群执行以下步骤。对于用户置备的基础架构 (UPI) 集群,您必须手动删除或禁用外部负载均衡器。
在终端中列出集群机器:
oc get machine -n openshift-machine-api
$ oc get machine -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在以下步骤中,修改 control plane 机器(名称中包含
master
的机器)。从每台 control plane 机器移除外部负载均衡器。
编辑 control plane
Machine
对象以移除对外部负载均衡器的引用:oc edit machines -n openshift-machine-api <master_name>
$ oc edit machines -n openshift-machine-api <master_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要修改的 control plane 或 master
Machine
对象的名称。
删除描述外部负载均衡器的行(在以下示例中已被标记),保存并退出对象规格:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
对名称中包含
master
的每个机器重复这个过程。
2.4.1. 将 Ingress Controller 端点发布范围配置为 Internal 复制链接链接已复制到粘贴板!
当集群管理员在没有指定集群为私有的情况下安装新集群时,将默认 Ingress Controller 创建,并将 scope
设置为 External
。集群管理员可以将 External
范围的 Ingress Controller 更改为 Internal
。
先决条件
-
已安装
oc
CLI。
流程
要将
External
范围的 Ingress Controller 更改为Internal
,请输入以下命令:oc -n openshift-ingress-operator patch ingresscontrollers/default --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"Internal"}}}}'
$ oc -n openshift-ingress-operator patch ingresscontrollers/default --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"Internal"}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要检查 Ingress Controller 的状态,请输入以下命令:
oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
$ oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Progressing
状态条件指示您必须执行进一步的操作。例如,状态条件可以通过输入以下命令来指示需要删除该服务:oc -n openshift-ingress delete services/router-default
$ oc -n openshift-ingress delete services/router-default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果删除了该服务,Ingress Operator 会重新创建为
Internal
。