了解如何为主管集群和 Tanzu Kubernetes 集群配置 HTTP 代理设置。了解在 Tanzu Mission Control 中注册主管集群和 Tanzu Kubernetes 集群时为其配置 HTTP 代理的工作流。对于在 Tanzu Mission Control 中注册为管理集群的内部部署主管集群,可以使用 HTTP 代理提取映像和传输容器流量。
在要用于 Tanzu Mission Control 的主管集群和 Tanzu Kubernetes 集群上配置 HTTP 代理设置的工作流
要在希望作为管理集群注册到 Tanzu Mission Control 的主管集群上配置 HTTP 代理,请执行以下步骤:
- 在 vSphere 中,通过以下两种方式在主管集群上配置 HTTP 代理:继承 vCenter Server 的 HTTP 代理设置,或者通过命名空间管理集群 API 或 DCLI 命令行在单个主管集群上配置代理设置。
- 在 Tanzu Mission Control 中,使用您在 vSphere with Tanzu 中为主管集群配置的代理设置创建代理配置对象。请参见为在 vSphere with Tanzu 中运行的 Tanzu Kubernetes Grid 服务集群创建代理配置对象。
- 在 Tanzu Mission Control 中,将主管集群注册为管理集群时使用此代理配置对象。请参见在 Tanzu Mission Control 中注册管理集群和完成在 vSphere with Tanzu 中注册主管集群。
要为在 Tanzu Mission Control 中置备或添加为工作负载集群的 Tanzu Kubernetes 集群配置 HTTP 代理,请执行以下操作:
- 使用要用于 Tanzu Kubernetes 集群的代理设置创建代理配置对象。请参见为在 vSphere with Tanzu 中运行的 Tanzu Kubernetes Grid 服务集群创建代理配置对象。
- 将 Tanzu Kubernetes 集群置备或添加为工作负载集群时,使用该代理配置对象。请参见在 vSphere with Tanzu 中置备集群和将工作负载集群添加到 Tanzu Mission Control Management
为 vSphere with Tanzu 中的 Tanzu Kubernetes 集群配置 HTTP 代理
- 为单个 Tanzu Kubernetes 集群配置代理设置。请参见用于使用 Tanzu Kubernetes Grid 服务 v1alpha2 API 置备 Tanzu Kubernetes 集群的配置参数。有关配置 YAML 的示例,请参见用于使用 Tanzu Kubernetes Grid 服务 v1alpha2 API 置备自定义 Tanzu Kubernetes 集群的示例 YAML。
- 创建将应用于所有 Tanzu Kubernetes 集群的全局代理配置。请参见 Tanzu Kubernetes Grid 服务 v1alpha2 API 的配置参数。
在新创建的 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 代理配置:
|
在以下任意一种情况下,使用此设置可为升级到 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 证书。
使用 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