了解如何为主管集群和 TKG 集群配置 HTTP 代理设置,以及向 Tanzu Misson control 注册主管集群和 TKG 集群时配置代理的工作流。
您可以通过 vSphere Client、集群管理 API 或 DCLI 命令为主管配置代理。如果您需要处理来自主管的外部网络的容器流量或映像拉取操作,则可以使用代理。对于在 Tanzu Mission Control 中注册为管理集群的内部部署主管,可以使用 HTTP 代理来处理映像拉取操作和容器流量。
在新创建的 vSphere 7.0 Update 3 及更高版本的 主管 上配置代理设置
对于在 vSphere 7.0 Update 3 及更高版本的环境中新创建的 主管,将从 vCenter Server 继承 HTTP 代理设置。无论在 主管 上配置 HTTP 代理设置之前还是之后创建 vCenter Server,集群都将继承这些设置。
请参见配置 DNS、IP 地址和代理设置,了解如何在 vCenter Server 上配置 HTTP 代理设置。
您也可以通过 vSphere Client、集群管理 API 或 DCLI 覆盖各个主管上继承的 HTTP 代理配置。
由于继承 vCenter Server 代理设置是新创建的 vSphere 7.0.3 主管 的默认配置,因此,如果 主管 不需要代理,但 vCenter Server 仍然需要,也可以使用集群管理 API 或 DCLI 不继承任何 HTTP 代理设置。
在升级到 vSphere 7.0 Update 3 及更高版本的 主管 上配置代理设置
如果将 主管 升级到 vSphere 7.0 Update 3 及更高版本,则不会自动继承 vCenter Server 的 HTTP 代理设置。在这种情况下,可以使用 vSphere Client、vcenter/namespace-management/clusters
API 或 DCLI 命令行为主管配置代理设置。
为 vSphere IaaS control plane 中的 TKG 集群配置 HTTP 代理
- 为各个 TKG 集群配置代理设置。请参见用于使用 Tanzu Kubernetes Grid Service v1alpha2 API 置备 Tanzu Kubernetes 集群的配置参数。有关配置 YAML 的示例,请参见用于使用 Tanzu Kubernetes Grid Service v1alpha2 API 置备自定义 Tanzu Kubernetes 集群的示例 YAML。
- 创建将应用于所有 TKG 集群的全局代理配置。请参见 Tanzu Kubernetes Grid Service v1alpha2 API 的配置参数。
使用 vSphere Client 在主管上配置 HTTP 代理设置
了解如何通过 vSphere Client 为主管配置 HTTP 代理设置。可以在单个主管上覆盖从 vCenter Server 继承的代理设置,也可以选择完全不使用任何代理设置。
前提条件
- 验证您对集群是否具有修改集群范围的配置特权。
过程
- 在 vSphere Client 中,导航到工作负载管理。
- 在主管下,选择 主管,然后选择配置。
- 选择网络,展开代理配置,然后单击编辑
- 选择“在主管上配置代理设置”,然后输入代理设置。
选项 描述 TLS 证书 用于验证代理证书的代理 TLS 根 CA 包。以纯文本形式输入该包。 从代理中排除的主机和 IP 地址 不需要代理服务器且可以直接访问的以逗号分隔的 IPv4 地址、FQDN 或域名列表。 HTTPS 配置 HTTPS 设置,例如 URL、端口号、用户名和密码。 HTTP 配置 HTTP 设置,例如 URL、端口号、用户名和密码。 - 单击确定。
结果
使用集群管理 API 和 DCLI 为主管配置 HTTP 代理
可以通过主管 API 或 DCLI 配置 vcenter/namespace-management/clusters
代理设置。
API 设置 |
新创建的 vSphere 7.0.3 及更高版本的 主管 |
升级到 vSphere 7.0.3 及更高版本的 主管 |
---|---|---|
VC_INHERITED | 这是新 主管 的默认设置,您无需使用 API 配置 主管 代理设置。可以只在 vCenter Server 上使用其管理界面配置代理设置。 | 使用此设置将 HTTP 代理配置推送到已升级到 vSphere 7.0.3 及更高版本的 主管。 |
CLUSTER_CONFIGURED | 在以下任意一种情况下,使用此设置可以替代从 vCenter Server 继承的 HTTP 代理配置:
|
在以下任意一种情况下,使用此设置可为升级到 vSphere 7.0.3 及更高版本的单个 主管 配置 HTTP 代理:
|
NONE | 当 主管 直接连接到 Internet,而 vCenter Server 需要代理时,使用此设置。NONE 设置将使 主管 无法继承 vCenter Server 的代理设置。 |
要为 主管 设置 HTTP 代理或修改现有设置,请在 vCenter Server 的 SSH 会话中使用以下命令:
vc_address=<IP address> cluster_id=domain-c<number> session_id=$(curl -ksX POST --user '<SSO user name>:<password>' https://$vc_address/api/session | xargs -t) curl -k -X PATCH -H "vmware-api-session-id: $session_id" -H "Content-Type: application/json" -d '{ "cluster_proxy_config": { "proxy_settings_source": "CLUSTER_CONFIGURED", "http_proxy_config":"<proxy_url>" } }' https://$vc_address/api/vcenter/namespace-management/clusters/$cluster_id
只需传递完整集群 ID 中的 domain_c<number>
。例如,使用以下集群 ID 中的 domain-c50
:ClusterComputeResource:domain-c50:5bbb510f-759f-4e43-96bd-97fd703b4edb
。
使用 VC_INHERITED
或 NONE
设置时,请在命令中省略 "http_proxy_config:<proxy_url>"
。
要使用自定义 CA 包,请在命令中添加 "tlsRootCaBundle": "<TLS_certificate>
,并以纯文本形式提供 TSL CA 证书。
curl -k -X PATCH -H "vmware-api-session-id: $session_id" -H "Content-Type: application/json" -d '{ "cluster_proxy_config": { "proxy_settings_source": "CLUSTER_CONFIGURED", "https_proxy_config":"<proxy_url>" } }' https://$vc_address/api/vcenter/namespace-management/clusters/$cluster_id
使用 DCLI 在 主管 上配置 HTTP 代理设置
可以在以下 DCLI 命令中使用 CLUSTER_CONFIGURED 设置为 主管 配置 HTTP 代理设置。
<dcli> namespacemanagement clusters update --cluster domain-c57 --cluster-proxy-config-http-proxy-config <proxy URL> --cluster-proxy-config-https-proxy-config <proxy URL> --cluster-proxy-config-proxy-settings-source CLUSTER_CONFIGURED
在 主管 和 TKG 集群上为 Tanzu Mission Control 配置 HTTP 代理设置
要在希望作为管理集群注册到 Tanzu Mission Control 的 主管 上配置 HTTP 代理,请执行以下步骤:
- 在 vSphere 中,通过以下两种方式在 主管 上配置 HTTP 代理:从 vCenter Server 继承 HTTP 代理设置,或者通过 vSphere Client 命名空间管理集群 API 或 DCLI 命令行在单个 主管 上配置代理设置。
- 在 Tanzu Mission Control 中,使用您在 vSphere IaaS control plane 中为 主管 配置的代理设置创建代理配置对象。请参见为 Tanzu Kubernetes Grid Service 集群创建代理配置对象。
- 在 Tanzu Mission Control 中,将 主管 注册为管理集群时使用此代理配置对象。请参见在 Tanzu Mission Control 中注册管理集群和完成主管集群注册。
要为在 Tanzu Mission Control 中置备或添加为工作负载集群的 TKG 集群配置 HTTP 代理,请执行以下操作:
- 使用要用于 Tanzu Kubernetes 集群的代理设置创建代理配置对象。请参见为 Tanzu Kubernetes Grid Service 集群创建代理配置对象。
- 将 Tanzu Kubernetes 集群置备或添加为工作负载集群时,使用该代理配置对象。请参见置备集群和将工作负载集群添加到 Tanzu Mission Control Management