4.4. 安装后配置代理
当您在 AWS (ROSA) 集群中安装 Red Hat OpenShift Service (ROSA) 集群后,可以配置 HTTP 或 HTTPS 代理到现有的 Virtual Private Cloud (VPC) 集群中。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa
) 在安装后配置代理。
4.4.1. 使用 OpenShift Cluster Manager 在安装后配置代理
您可以使用 Red Hat OpenShift Cluster Manager 将集群范围代理配置添加到 Virtual Private Cloud (VPC) 上的 AWS 集群中的现有 Red Hat OpenShift Service 中。
您还可以使用 OpenShift Cluster Manager 更新现有的集群范围代理配置。例如,如果代理的任何证书颁发机构过期,您可能需要更新代理的网络地址,或者替换额外的信任捆绑包。
集群将代理配置应用到 control plane 和计算节点。在应用配置时,每个集群节点暂时处于不可调度状态,并排空其工作负载。每个节点都会作为进程的一部分重启。
前提条件
- 在 AWS 集群上有一个 Red Hat OpenShift Service。
- 您的集群部署在 VPC 中。
流程
- 进入到 OpenShift Cluster Manager 并选择您的集群。
- 在 Networking 页面上的 Virtual Private Cloud (VPC) 部分下,点 Edit cluster-wide proxy。
在 Edit cluster-wide proxy 页面中,提供代理配置详情:
至少在以下字段之一中输入值:
- 指定有效的 HTTP 代理 URL。
- 指定有效的 HTTPS 代理 URL。
-
在 Additional trust bundle 字段中,提供 PEM 编码 X.509 证书捆绑包。如果您要替换现有的信任捆绑包文件,请选择 replace file 来查看字段。捆绑包添加到集群节点的可信证书存储中。如果您使用 TLS-inspecting 代理,则需要额外的信任捆绑包文件,除非代理的身份证书由 Red Hat Enterprise Linux CoreOS (RHCOS)信任捆绑包的颁发机构签名。无论代理是透明还是需要使用
http-proxy
和https-proxy
参数显式配置,这个要求都适用。
- 单击 Confirm。
验证
- 在 Networking 页面上的 Virtual Private Cloud (VPC) 部分下,验证集群的代理配置是否如预期。
4.4.2. 使用 CLI 在安装后配置代理
您可以使用 AWS (ROSA) CLI (rosa
) 上的 Red Hat OpenShift Service 将集群范围的代理配置添加到 Virtual Private Cloud (VPC) 的现有 ROSA 集群中。
您还可以使用 rosa
更新现有的集群范围代理配置。例如,如果代理的任何证书颁发机构过期,您可能需要更新代理的网络地址,或者替换额外的信任捆绑包。
集群将代理配置应用到 control plane 和计算节点。在应用配置时,每个集群节点暂时处于不可调度状态,并排空其工作负载。每个节点都会作为进程的一部分重启。
前提条件
-
您已在安装主机上安装和配置了最新的 ROSA (
rosa
) 和 OpenShift (oc
) CLI。 - 您有一个在 VPC 中部署的 ROSA 集群。
流程
编辑集群配置以添加或删除集群范围代理详情:
$ rosa edit cluster \ --cluster $CLUSTER_NAME \ --additional-trust-bundle-file <path_to_ca_bundle_file> \ 1 2 3 --http-proxy http://<username>:<password>@<ip>:<port> \ 4 5 --https-proxy https://<username>:<password>@<ip>:<port> \ 6 7 --no-proxy example.com 8
- 1 4 6
additional-trust-bundle-file
、http-proxy
和https-proxy
参数都是可选。- 2
additional-trust-bundle-file
参数是一个指向 PEM 编码 X.509 证书的捆绑包的文件路径,这些证书全部连接在一起。additional-trust-bundle-file 参数是一个指向 PEM 编码 X.509 证书的捆绑包的文件路径,它们都串联在一起。使用 TLS-inspecting 代理的用户需要 additional-trust-bundle-file 参数,除非代理的身份证书由 Red Hat Enterprise Linux CoreOS (RHCOS)信任捆绑包的颁发机构签名。无论代理是透明还是需要使用http-proxy
和https-proxy
参数明确配置,都适用。注意您不应该尝试在集群中直接更改代理或其他信任捆绑包配置。这些更改必须使用 ROSA CLI (
rosa
) 或 Red Hat OpenShift Cluster Manager 加以应用。直接对集群所做的任何更改都会被自动恢复。- 3 5 7
http-proxy
和https-proxy
参数必须指向有效的 URL。- 8
- 要排除代理的目标域名、IP 地址或网络 CIDR 的逗号分隔列表。
在域前面加上
.
以仅匹配子域。例如:.y.com
匹配x.y.com
,但不匹配y.com
。使用*
可对所有目的地绕过所有代理。如果您扩展了未包含在安装配置中networking.machineNetwork[].cidr
字段定义的 worker,您必须将它们添加到此列表中,以防止连接问题。如果未设置
httpProxy
或httpsProxy
字段,则此字段将被忽略。
验证
列出机器配置池的状态,并验证它们是否已更新:
$ oc get machineconfigpools
输出示例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-d9a03f612a432095dcde6dcf44597d90 True False False 3 3 3 0 31h worker rendered-worker-f6827a4efe21e155c25c21b43c46f65e True False False 6 6 6 0 31h
显示集群的代理配置,并验证详情是否如预期:
$ oc get proxy cluster -o yaml
输出示例
apiVersion: config.openshift.io/v1 kind: Proxy spec: httpProxy: http://proxy.host.domain:<port> httpsProxy: https://proxy.host.domain:<port> <...more...> status: httpProxy: http://proxy.host.domain:<port> httpsProxy: https://proxy.host.domain:<port> <...more...>