2.4. 将 API 服务器限制为私有
将集群部署到 Amazon Web Services(AWS)或 Microsoft Azure 后,可以重新配置 API 服务器,使其只使用私有区。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
使用具有
admin
权限的用户登陆到 web 控制台。
流程
在云供应商的 web 门户或控制台中,执行以下操作:
找到并删除相关的负载均衡器组件:
- 对于 AWS,删除外部负载均衡器。私有区的 API DNS 条目已指向内部负载均衡器,它使用相同的配置,因此您无需修改内部负载均衡器。
-
对于 Azure,删除负载均衡器的
api-internal
规则。
-
在公共区中删除
api.$clustername.$yourdomain
DNS 条目。
删除外部负载均衡器:
重要您只能对安装程序置备的基础架构 (IPI) 集群执行以下步骤。对于用户置备的基础架构 (UPI) 集群,您必须手动删除或禁用外部负载均衡器。
如果您的集群使用 control plane 机器集,删除 control plane 机器集中的以下行:
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
如果您的集群没有使用 control plane 机器集,您必须从每个 control plane 机器中删除外部负载均衡器。
在终端中,运行以下命令来列出集群机器:
$ oc get machine -n openshift-machine-api
输出示例
NAME STATE TYPE REGION ZONE AGE lk4pj-master-0 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-master-1 running m4.xlarge us-east-1 us-east-1b 17m lk4pj-master-2 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-worker-us-east-1a-5fzfj running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1a-vbghs running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1b-zgpzg running m4.xlarge us-east-1 us-east-1b 15m
control plane 机器在名称中包含
master
。从每个 control plane 机器中删除外部负载均衡器:
运行以下命令,将 control plane 机器对象编辑为:
$ oc edit machines -n openshift-machine-api <control_plane_name> 1
- 1
- 指定要修改的 control plane 机器对象名称。
删除描述外部负载均衡器的行,它们在以下示例中被标记:
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
- 保存更改并退出对象规格。
- 为每个 control plane 机器重复此步骤。