了解如何为 主管Tanzu Kubernetes Grid 集群配置 HTTP 代理设置。了解在 Tanzu Mission Control 中注册 主管Tanzu Kubernetes Grid 集群时为其配置 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 Grid 集群配置 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 Grid 集群配置 HTTP 代理

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