了解如何为主管集群Tanzu Kubernetes 集群配置 HTTP 代理设置。了解在 Tanzu Mission Control 中注册主管集群Tanzu Kubernetes 集群时为其配置 HTTP 代理的工作流。对于在 Tanzu Mission Control 中注册为管理集群的内部部署主管集群,可以使用 HTTP 代理提取映像和传输容器流量。

在要用于 Tanzu Mission Control 的主管集群Tanzu Kubernetes 集群上配置 HTTP 代理设置的工作流

要在希望作为管理集群注册到 Tanzu Mission Control 的主管集群上配置 HTTP 代理,请执行以下步骤:

  1. 在 vSphere 中,通过以下两种方式在主管集群上配置 HTTP 代理:继承 vCenter Server 的 HTTP 代理设置,或者通过命名空间管理集群 API 或 DCLI 命令行在单个主管集群上配置代理设置。
  2. 在 Tanzu Mission Control 中,使用您在 vSphere with Tanzu 中为主管集群配置的代理设置创建代理配置对象。请参见为在 vSphere with Tanzu 中运行的 Tanzu Kubernetes Grid 服务集群创建代理配置对象
  3. 在 Tanzu Mission Control 中,将主管集群注册为管理集群时使用此代理配置对象。请参见在 Tanzu Mission Control 中注册管理集群完成在 vSphere with Tanzu 中注册主管集群

要为在 Tanzu Mission Control 中置备或添加为工作负载集群的 Tanzu Kubernetes 集群配置 HTTP 代理,请执行以下操作:

  1. 使用要用于 Tanzu Kubernetes 集群的代理设置创建代理配置对象。请参见为在 vSphere with Tanzu 中运行的 Tanzu Kubernetes Grid 服务集群创建代理配置对象
  2. Tanzu Kubernetes 集群置备或添加为工作负载集群时,使用该代理配置对象。请参见在 vSphere with Tanzu 中置备集群将工作负载集群添加到 Tanzu Mission Control Management

vSphere with Tanzu 中的 Tanzu Kubernetes 集群配置 HTTP 代理

使用以下方法之一为 vSphere with Tanzu 中的 Tanzu Kubernetes 集群配置代理:
注: 如果使用 Tanzu Mission Control 管理 Tanzu Kubernetes 集群,则无需通过 vSphere with Tanzu 中的集群 YAML 文件配置代理设置。将 Tanzu Kubernetes 集群作为工作负载集群添加到 Tanzu Mission Control 时,可以配置代理设置。

在新创建的 vSphere 7.0 Update 3 主管集群上配置代理设置

对于在 vSphere 7.0 Update 3 环境中新创建的主管集群,将从 vCenter Server 继承 HTTP 代理设置。无论在主管集群上配置 HTTP 代理设置之前还是之后创建 vCenter Server,集群都将继承这些设置。

请参见配置 DNS、IP 地址和代理设置,了解如何在 vCenter Server 上配置 HTTP 代理设置。

您也可以通过集群管理 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 代理设置。在这种情况下,可以使用 vcenter/namespace-management/clusters API 或 DCLI 命令行配置主管集群代理设置。

使用集群管理 API 在主管集群上配置 HTTP 代理

可以通过 vcenter/namespace-management/clusters API 配置主管集群代理设置。此 API 为主管集群上的代理配置提供了三个选项:

API 设置

新创建的 vSphere 7.0.3 主管集群

升级到 vSphere 7.0.3 的主管集群

VC_INHERITED 这是新主管集群的默认设置,您无需使用 API 配置主管集群代理设置。可以只在 vCenter Server 上使用其管理界面配置代理设置。 使用此设置可将 HTTP 代理配置推送到升级到 vSphere 7.0.3 的主管集群
CLUSTER_CONFIGURED

在以下任意一种情况下,使用此设置可以替代从 vCenter Server 继承的 HTTP 代理配置:

  • 主管集群vCenter Server 位于不同的子网中,需要使用不同的代理服务器。
  • 代理服务器使用自定义 CA 包。

在以下任意一种情况下,使用此设置可为升级到 vSphere 7.0.3 的单个主管集群配置 HTTP 代理:

  • 无法使用 vCenter Server 代理,因为主管集群vCenter Server 位于不同的子网中,需要使用不同的代理服务器。
  • 代理服务器使用自定义 CA 包。
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-c50ClusterComputeResource:domain-c50:5bbb510f-759f-4e43-96bd-97fd703b4edb

使用 VC_INHERITEDNONE 设置时,请在命令中省略 "http_proxy_config:<proxy_url>"

要使用自定义 CA 包,请在命令中添加 "tlsRootCaBundle": "<TLS_certificate>,并以纯文本形式提供 TSL CA 证书。

使用 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