除非另有说明,否则这些发行说明适用于 Tanzu Kubernetes Grid (TKG) 的所有 v2.3.x 修补程序版本。
TKG v2.3 作为可下载的 Tanzu CLI 软件包分发,用于部署版本化 TKG 独立管理集群。TKG v2.3 支持使用可在多个基础架构(包括 vSphere、AWS 和 Azure)上运行的独立管理集群创建和管理基于类的工作负载集群。
重要vSphere 8.0.1c 和更高版本中的 vSphere with Tanzu 主管运行 TKG v2.2。早期版本的 vSphere 8 运行 TKG v2.0,该版本并非独立于主管发布。从 TKG 2.1 开始,可以使用运行 TKG 2.x 的独立管理集群。由于主管中嵌入的 TKG 版本较低,因此,使用独立 TKG 2.3 管理集群时可用的某些功能,在使用 vSphere with Tanzu 主管创建工作集群时不可用。更高的 TKG 版本将嵌入到未来 vSphere 更新版本的主管中。因此,给定时间最新 vSphere with Tanzu 版本中嵌入的 TKG 版本可能不如最新的独立 TKG 版本新。但是,完全支持与所有 TKG v2.x 版本兼容的 Tanzu CLI 版本与 vSphere 8 中的主管一起使用。例如,Tanzu CLI v1.0.0 完全向后兼容主管提供的 TKG 2.2 插件。
与 vSphere 8 中的 TKG 2.x 和 vSphere with Tanzu 主管兼容的 Tanzu CLI 版本与 vSphere 7 中的主管集群不兼容。要在 vSphere 7 上对 vSphere with Tanzu 主管集群使用 Tanzu CLI,请使用 TKG v1.6 中的 Tanzu CLI 版本。要使用与具有主管的 TKG 2.x 兼容的 Tanzu CLI 版本,请升级到 vSphere 8。如果 vSphere with Tanzu 主管集群不存在,可以将独立 TKG 2.x 管理集群部署到 vSphere 7。有关 Tanzu CLI 与 VMware 产品之间兼容性的信息,请参见 Tanzu CLI 文档。
Tanzu Kubernetes Grid v2.3.x 包含以下新增功能。
Tanzu Kubernetes Grid v2.3.1 版的新增功能:
--vsphere-vm-template-name
选项指定目标 OVA 模板,如选择要升级到的 OVA 模板中所述。Tanzu Kubernetes Grid v2.3.0 版的新增功能:
tiny
TKr 添加到管理集群。POD_SECURITY_STANDARD_*
,以及Cluster
规范 podSecurityStandard
设置配置集群范围的 Pod 安全准入 (PSA) 控制器,如 Pod 安全准入控制器中所述。
kubectl get inclusterippool
输出FREE
和 USED
地址计数。InClusterIPPool
对象结构与以前的 TKG 版本不同;集群升级到 v2.3 会将 IP 池转换为新结构。VSPHERE_MTU
为 vSphere 上的管理集群节点和工作负载集群节点设置最大传输单元 (MTU) 的大小;请参见配置集群节点 MTU。CONTROL_PLANE_NODE_NAMESERVERS
和 WORKER_NODE_NAMESERVERS
现在处于稳定状态。您可以为在 Ubuntu 或 Photon 上运行的节点设置这些变量;不支持 Windows。有关示例用例,请参见节点 IPAM。--max-unhealthy
和 --machine-deployment
;请参见管理工作负载集群的计算机运行状况检查。tanzu mc credentials update
选项 --vsphere-thumbprint
允许您使用 Tanzu CLI 更新管理集群和 vSphere 上工作负载集群中 vCenter Server 的 TLS 指纹。请参见更新集群凭据。Pinniped 组件不再将 Dex 用于 LDAP 身份提供程序,从而导致以下配置更改:
LDAP_GROUP_SEARCH_SKIP_ON_REFRESH
LDAP_BIND_DN
和 LDAP_BIND_PASSWORD
。LDAP_GROUP_SEARCH_NAME_ATTRIBUTE
默认为 dn
。LDAP_USER_SEARCH_FILTER
和 LDAP_GROUP_SEARCH_FILTER
必须采用 Pinniped 使用的格式进行设置。LDAP_USER_SEARCH_USERNAME
、LDAP_USER_SEARCH_EMAIL_ATTRIBUTE
和 LDAP_GROUP_SEARCH_GROUP_ATTRIBUTE
。移除 Dex 意味着,必须先更改管理集群的 LDAP 设置,然后再将其升级到 TKG v2.3;请参见 (仅限 LDAP)更新 LDAP 设置。
有关新的和更新的配置变量的详细信息,请参见《配置文件变量参考》中的身份供程序 - LDAP。
grafana
容器映像。计划在未来版本中从 BoM 中移除其他 Tanzu Standard 组件。
使用 TKG v2.3,Tanzu Standard 软件包存储库与 TKG 分开进行版本控制和分发,其版本控制基于日期戳。有关详细信息,请参见下面的 Tanzu Standard 存储库 v2023.7.13。
对于每个 TKG v2.3 修补程序版本,其最新的兼容 Tanzu Standard 存储库版本的发行说明包括:
从 TKG v2.2 开始,VMware 对较旧的 TKG 和 TKr 修补程序版本的支持策略发生了变化,这些版本为 TKG 打包了 Kubernetes 版本。TKG v2.1 和较旧次要 TKG 版本的支持策略无变化。
前两节总结了在适用于每个 TKG 和 TKr 的支持策略下,对所有当前支持的 TKG 和 TKr 版本的支持。
下面的第三节列出了 Tanzu Standard 存储库中受 Kubernetes v1.26、v1.25 和 v1.24 TKr 支持的软件包版本。
Tanzu Kubernetes Grid 的每个版本都增加了对其管理集群的 Kubernetes 版本以及其他 Kubernetes 版本的支持,这些版本以 Tanzu Kubernetes 版本 (TKr) 分发,除非注明为已知问题。
次要版本:VMware在发布时支持 TKG v2.3 和 Kubernetes v1.26、v1.25 和 v1.24。一旦 TKG v2.1 终止一般支持里程碑,VMware将不再支持 Kubernetes v1.24 和 TKG。一旦 TKG v2.2 终止一般支持里程碑,VMware将不再支持 Kubernetes v1.25 与 TKG。
修补程序版本:在 VMware 为次要版本发布新的 TKr 修补程序版本后,针对较旧修补程序版本的支持会保留两个月。这为客户提供了 2 个月的时间升级到新的 TKr 修补程序版本。从 TKG v2.2 开始,VMware 不支持以前的 Kubernetes 次要版本中的所有 TKr 修补程序版本。
Tanzu Kubernetes Grid 修补程序版本支持和支持的 TKr 修补程序版本如下所列。
Tanzu Kubernetes Grid 版本 | 管理集群 Kubernetes 版本 | 提供的 Kubernetes (TKr) 版本 |
---|---|---|
2.3.1 | 1.26.8 | 1.26.8、1.25.13、1.24.17 |
2.3.0 | 1.26.5 | 1.26.5、1.25.10、1.24.14 |
2.2.0 | 1.25.7 | 1.25.7、1.24.11、1.23.17 |
2.1.1 | 1.24.10 | 1.24.10、1.23.16、1.22.17 |
2.1.0 | 1.24.9 | 1.24.9、1.23.15、1.22.17 |
VMware 支持如下所示的 TKG 版本:
次要版本:VMware 支持遵循 N-2 生命周期策略的 TKG,该策略适用于最新和之前的两个次要 TKG 版本。有关详细信息,请参见 VMware 产品生命周期矩阵。
修补程序版本:VMware 不支持以前的所有 TKG 修补程序版本。VMware 发布 TKG 的新修补程序版本后,它将对较旧修补程序版本的支持保留两个月。这为客户提供了 2 个月的时间升级到新的 TKG 修补程序版本。
对于 TKG v2.3,Tanzu Standard 存储库中的软件包版本与 Kubernetes 次要版本 v1.26、v1.25 和 v1.24 的 TKrs 兼容,如下所示:
软件包 | 软件包版本 | Kubernetes v1.26 TKr | Kubernetes v1.25 TKr | Kubernetes v1.24 TKr |
---|---|---|---|---|
证书管理器 cert-manager.tanzu.vmware.com |
1.11.1+vmware.1-tkg.1-20230629 | ✔ | ✔ | ✔ |
Contour contour.tanzu.vmware.com |
1.24.4+vmware.1-tkg.1-20230629 | ✔ | ✔ | ✔ |
外部 DNS external-dns.tanzu.vmware.com |
0.13.4+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
0.12.2+vmware.5-tkg.2-20230629 | ✔ | ✔ | ✔ | |
0.11.1+vmware.5-tkg.2-20230629 | ✖ | ✖ | ✔ | |
Fluent Bit fluent-bit.tanzu.vmware.com |
2.1.2+vmware.1-tkg.1-20230629 | ✔ | ✔ | ✔ |
1.9.5+vmware.1-tkg.3-zshippable | ✔ | ✔ | ✔ | |
1.8.15+vmware.1-tkg.1 | ✖ | ✖ | ✔ | |
FluxCD 帮助控制器 fluxcd-helm-controller.tanzu.vmware.com |
0.32.0+vmware.1-tkg.2-20230629 | ✔ | ✔ | ✔ |
0.21.0+vmware.1-tkg.1-zshippable | ✖ | ✖ | ✔ | |
FluxCD 源控制器 fluxcd-source-controller.tanzu.vmware.com |
0.33.0+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
Grafana grafana.tanzu.vmware.com |
9.5.1+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
7.5.17+vmware.1-tkg.3-zshippable | ✖ | ✖ | ✔ | |
Harbor harbor.tanzu.vmware.com |
2.8.2+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
Multus CNI multus-cni.tanzu.vmware.com |
3.8.0+vmware.3-tkg.1 | ✔ | ✔ | ✔ |
4.0.1+vmware.1-tkg.1-20230629 | ✔ | ✔ | ✔ | |
Prometheus prometheus.tanzu.vmware.com |
2.43.0+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
2.37.0+vmware.3-tkg.1 | ✔ | ✔ | ✔ | |
2.36.2+vmware.1-tkg.1 | ✖ | ✖ | ✔ | |
Whereabouts whereabouts.tanzu.vmware.com |
0.6.1+vmware.2-tkg.1-20230629 | ✔ | ✔ | ✔ |
0.5.4+vmware.2-tkg.1 | ✔ | ✔ | ✔ |
Tanzu Kubernetes Grid v2.3 支持以下基础架构平台和操作系统 (OS),以及集群创建和管理、网络连接、存储、身份验证、备份和迁移以及可观察性组件。
有关与 TKG v2.3 兼容的其他软件包版本,请参见《Tanzu 软件包文档》中的 Tanzu Standard 存储库 v2023.10.16 发行说明。
有关 TKG v2.3 中包含的组件版本的完整列表,请参见组件版本。
vSphere | AWS | Azure | |
基础架构平台 |
|
本机 AWS | 本机 Azure |
Tanzu CLI | Tanzu CLI Core v1.0.0** | ||
TKG API 和软件包基础架构 | Tanzu Framework v0.30.2 | ||
集群创建和管理 | 核心集群 API (v1.4.5)、集群 API 提供程序vSphere (v1.7.1) | 核心集群 API (v1.4.5)、集群 API 提供程序 AWS (v2.1.3) | 核心集群 API (v1.4.5)、集群 API 提供程序 Azure (v1.9.2) |
使用 TKG 分发的 Kubernetes 节点操作系统 | Photon OS 3、Ubuntu 20.04 | Amazon Linux 2、Ubuntu 20.04 | Ubuntu 18.04、Ubuntu 20.04 |
构建您自己的映像 | Photon OS 3、Red Hat Enterprise Linux 7*** 和 8、Ubuntu 18.04、Ubuntu 20.04、Windows 2019 | Amazon Linux 2、Ubuntu 18.04、Ubuntu 20.04 | Ubuntu 18.04、Ubuntu 20.04 |
容器运行时 | Containerd (v1.6.18) | ||
容器网络连接 | Antrea (v1.11.2)、Calico (v3.25.1)、Multus CNI(v4.0.1、v3.8.0) | ||
容器注册表 | Harbor (v2.8.4) | ||
输入 | NSX Advanced Load Balancer Essentials 和 Avi 控制器 **** (v21.1.4-v21.1.6、v22.1.2-v22.1.3)、NSX v4.1.0 (vSphere 8.0.u1)、v3.2.2 (vSphere 7)、Contour (v1.25.2) | Contour (v1.25.2) | Contour (v1.25.2) |
存储 | vSphere容器存储接口 (v3.0.1*****) 并vSphere云原生存储 | Amazon EBS CSI 驱动程序 (v1.18.0) 和树内云提供程序 | Azure 磁盘 CSI 驱动程序 (v1.27.1)、Azure 文件 CSI 驱动程序 (v1.27.0) 和树内云提供程序 |
身份验证 | 通过 Pinniped 的 OIDC 和 LDAP (v0.24.0) | ||
可观察性 | Fluent Bit (v2.1.6)、Prometheus (v2.45.0, v2.37.0)******、Grafana (v10.0.1) | ||
服务发现 | 外部 DNS (v0.13.4) | ||
备份和迁移 | Velero (v1.10.3) |
* 有关与此版本兼容的 VMware Cloud on AWS SDDC 版本的列表,请参见 VMware 产品互操作性矩阵。
** 有关与此版本兼容的 Tanzu CLI 版本的完整列表,请参见 产品互操作性矩阵。
*** Tanzu Kubernetes Grid v1.6 是支持构建 Red Hat Enterprise Linux 7 映像的最新版本。
****在 vSphere 8 上,要将 NSX Advanced Load Balancer 与 TKG 独立管理集群及其工作负载集群结合使用,您需要 NSX ALB v22.1.2 或更高版本以及 TKG v2.1.1 或更高版本。
***** vsphere_csi_driver 版本。有关此版本中包含的 vSphere Container Storage Interface 组件的完整列表,请参见组件版本。
****** 如果将集群升级到 Kubernetes v1.25,则必须至少将 Prometheus 升级到版本 2.37.0+vmware.3-tkg.1
。Prometheus 软件包的早期版本(例如版本 2.37.0+vmware.1-tkg.1
)与 Kubernetes 1.25 不兼容。
有关 Tanzu Kubernetes Grid v2.3 随附的 Kubernetes 版本的完整列表,请参见上述支持的 Kubernetes 版本。
TKG v2.3.x 版本包括以下软件组件版本:
注意以前的 TKG 版本包括现在通过 Tanzu Standard 存储库分发的组件。有关这些组件的列表,请参见下面的 Tanzu Standard 存储库。
组件 | TKG v2.3.1 | TKG v2.3.0 |
---|---|---|
aad-pod-identity | v1.8.15+vmware.2 | v1.8.15+vmware.2* |
addons-manager | v2.2+vmware.1 | v2.2+vmware.1* |
ako-operator | v1.9.0_vmware.1 | v1.9.0_vmware.1* |
alertmanager | v0.25.0_vmware.4* | v0.25.0_vmware.3* |
antrea | v1.11.2_vmware.1* | v1.11.1_vmware.4* |
antrea-interworking | v0.11.1* | v0.11.0* |
aws-ebs-csi-driver | v1.18.0+vmware.2 | v1.18.0+vmware.2* |
azuredisk-csi-driver | v1.27.1+vmware.3* | v1.27.1+vmware.2* |
azurefile-csi-driver | v1.27.0+vmware.3* | v1.27.0+vmware.2* |
calico | v3.25.1+vmware.2 | v3.25.1+vmware.2* |
capabilities-package | v0.30.2-capabilities* | v0.30.2-capabilities* |
carvel-secretgen-controller | v0.14.2+vmware.2 | v0.14.2+vmware.2* |
cloud-provider-azure | v1.1.26+vmware.1、 v1.23.23+vmware.1、 v1.24.10+vmware.1 |
v1.1.26+vmware.1、 v1.23.23+vmware.1、 v1.24.10+vmware.1 |
cloud_provider_vsphere | v1.24.6+vmware.1、 |
v1.24.6+vmware.1*、 |
cluster-api-provider-azure | v1.9.2+vmware.1 | v1.9.2+vmware.1* |
cluster_api | v1.4.5+vmware.1* | v1.4.2+vmware.3* |
cluster_api_aws | v2.1.3+vmware.0 | v2.1.3+vmware.0* |
cluster_api_vsphere | v1.7.1+vmware.0* | v1.7.0+vmware.0* |
cni_plugins | v1.1.1+vmware.28* | v1.1.1+vmware.23* |
configmap-reload | v0.8.0+vmware.3* | v0.8.0+vmware.2* |
containerd | v1.6.18+vmware.1 | v1.6.18+vmware.1 |
coredns | v1.9.3+vmware.16* | v1.9.3+vmware.11* |
crash-diagnostics | v0.3.7+vmware.7 | v0.3.7+vmware.7* |
cri_tools | v1.25.0+vmware.10* | v1.25.0+vmware.6* |
csi_attacher | v4.2.0+vmware.4*、 v4.0.0+vmware.1、 v3.5.0+vmware.1、 v3.4.0+vmware.1、 v3.3.0+vmware.1 |
v4.2.0+vmware.2*、 v4.0.0+vmware.1*、 v3.5.0+vmware.1、 v3.4.0+vmware.1、 v3.3.0+vmware.1 |
csi_livenessprobe | v2.9.0+vmware.4*、 v2.8.0+vmware.1、 v2.7.0+vmware.1、 v2.6.0+vmware.1、 v2.5.0+vmware.1、 v2.4.0+vmware.1 |
v2.9.0+vmware.2*, v2.8.0+vmware.1*、 v2.7.0+vmware.1、 v2.6.0+vmware.1、 v2.5.0+vmware.1、 v2.4.0+vmware.1 |
csi_node_driver_registrar | v2.7.0+vmware.4*、 v2.7.0+vmware.2、 v2.6.3+vmware.1、 v2.6.2+vmware.1、 v2.5.1+vmware.1、 v2.5.0+vmware.1、 v2.3.0+vmware.1 |
v2.7.0+vmware.1*、 v2.7.0+vmware.2*、 v2.6.3+vmware.1*、 v2.6.2+vmware.1*、 v2.5.1+vmware.1、 v2.5.0+vmware.1、 v2.3.0+vmware.1 |
csi_provisioner | v3.4.1+vmware.3*、 v3.4.0+vmware.4*、 v3.3.0+vmware.1、 v3.2.1+vmware.1、 v3.1.0+vmware.2 |
v3.4.1+vmware.2*, v3.4.0+vmware.2*、 v3.3.0+vmware.1*、 v3.2.1+vmware.1、 v3.1.0+vmware.2 |
dex | 不适用 | 已移除 |
envoy | v1.25.9+vmware.1* | v1.25.6+vmware.1* |
external-snapshotter | v6.2.1+vmware.4*、 v6.1.0+vmware.1、 v6.0.1+vmware.1、 v5.0.1+vmware.1 |
v6.2.1+vmware.2*、 v6.1.0+vmware.1*、 v6.0.1+vmware.1、 v5.0.1+vmware.1 |
etcd | v3.5.6+vmware.20* | v3.5.6+vmware.14* |
guest-cluster-auth-service | v1.3.0_tkg.2 | v1.3.0_tkg.2 |
image-builder | v0.1.14+vmware.1 | v0.1.14+vmware.1* |
image-builder-resource-bundle | v1.26.8+vmware.1-tkg.2* | v1.26.5+vmware.2-tkg.1* |
imgpkg | v0.36.0+vmware.2 | v0.36.0+vmware.2* |
jetstack_cert-manager (cert-manager) | v1.11.1+vmware.1 | v1.11.1+vmware.1* |
k8s-sidecar | v1.22.4+vmware.2* | v1.22.0+vmware.2*、 v1.15.6+vmware.5、 v1.12.1+vmware.6 |
k14s_kapp (kapp) | v0.55.0+vmware.2 | v0.55.0+vmware.2* |
k14s_ytt (ytt) | v0.45.0+vmware.2 | v0.45.0+vmware.2* |
kapp-controller | v0.45.2+vmware.1 | v0.45.2+vmware.1* |
kbld | v0.37.0+vmware.2 | v0.37.0+vmware.2* |
kube-state-metrics | v2.8.2+vmware.1 | v2.8.2+vmware.1* |
kube-vip | v0.5.12+vmware.1 | v0.5.12+vmware.1 |
kube-vip-cloud-provider | v0.0.5+vmware.1、 v0.0.4+vmware.4 |
v0.0.5+vmware.1*、 v0.0.4+vmware.4 |
kubernetes | v1.26.8+vmware.1*、 v1.25.13+vmware.1*、 v1.24.17+vmware.1* |
v1.26.5+vmware.2*、 v1.25.10+vmware.2*、 v1.24.14+vmware.2 |
kubernetes-csi_external-resizer | v1.7.0+vmware.4*、 v1.6.0+vmware.1、 v1.5.0+vmware.1、 v1.4.0+vmware.1 |
v1.7.0+vmware.2*、 v1.6.0+vmware.1*、 v1.5.0+vmware.1*、 v1.4.0+vmware.1 |
kubernetes-sigs_kind | v1.26.8+vmware.1-tkg.2_v0.17.0*、 v1.25.13+vmware.2-tkg.1_v0.17.0*、 v1.24.17+vmware.2-tkg.1_v0.17.0* |
v1.26.5+vmware.2-tkg.1_v0.17.0*、 v1.25.10+vmware.2-tkg.1_v0.17.0*、 v1.24.14+vmware.2-tkg.1_v0.17.0* |
kubernetes_autoscaler | v1.26.2+vmware.1 | v1.26.2+vmware.1* |
load-balancer-and-ingress-service (AKO) | v1.9.3+vmware.2-tkg.1 | v1.9.3+vmware.2-tkg.1* |
metrics-server | v0.6.2+vmware.1 | v0.6.2+vmware.1 |
pinniped | v0.24.0+vmware.1-tkg.1 | v0.24.0+vmware.1-tkg.1* |
pinniped-post-deploy | v0.24.0+vmware.1 | v0.24.0+vmware.1* |
prometheus_node_exporter | v1.5.0+vmware.3* | v1.5.0+vmware.2* |
pushgateway | v1.5.1+vmware.3* | v1.5.1+vmware.2* |
sonobuoy | v0.56.16+vmware.2 | v0.56.16+vmware.2* |
tanzu-framework | v0.30.2* | v0.30.2* |
tanzu-framework-addons | v0.30.2* | v0.30.2* |
tanzu-framework-management-packages | v0.30.2* | v0.30.2* |
tkg-bom | v2.3.1* | v2.3.0* |
tkg-core-packages | v1.26.8+vmware.1-tkg.2* | v1.26.8+vmware.2-tkg.1* |
tkg-standard-packages | v2023.10.16* | v2023.7.13* |
tkg-storageclass-package | v0.30.2* | v0.30.2* |
tkg_telemetry | v2.3.1+vmware.3* | v2.3.0+vmware.2* |
velero | v1.10.3+vmware.1 | v1.10.3+vmware.1* |
velero-mgmt-cluster-plugin* | v0.2.0+vmware.1 | v0.2.0+vmware.1* |
velero-plugin-for-aws | v1.6.2+vmware.1 | v1.6.2+vmware.1* |
velero-plugin-for-csi | v0.4.3+vmware.1 | v0.4.3+vmware.1* |
velero-plugin-for-microsoft-azure | v1.6.2+vmware.1 | v1.6.2+vmware.1* |
velero-plugin-for-vsphere | v1.5.1+vmware.1 | v1.5.1+vmware.1* |
vendir | v0.33.1+vmware.2 | v0.33.1+vmware.2* |
vsphere_csi_driver | v3.0.1+vmware.4* | v3.0.1+vmware.2* |
* 表示自上一版本以来的新组件或版本更新。TKG v2.3.0 之前为 v2.3.1,而 TKG v2.2.0 之前为 v2.3.0。
有关 TKG v2.3 随附的软件组件版本的列表,请使用 imgpkg
提取存储库包,然后列出其内容。例如,要列出 TKG v2.3.1 Tanzu Standard 存储库附带的组件版本,请运行以下命令:
imgpkg pull -b projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16 -o standard-2023.10.16
诸如以下内容的本地 BOM 文件也会列出软件包版本,但可能不是最新的:
~/.config/tanzu/tkg/bom/tkg-bom-v2.3.1.yaml
~/.config/tanzu/tkg/bom/tkr-bom-v1.26.8+vmware.2-tkg.1.yaml
在 TKG 升级途径中,v2.3 紧跟 v2.2.0。
只能从 v2.2.x 升级到 Tanzu Kubernetes Grid v2.3.x。如果要从低于 v2.2.x 的版本升级到 Tanzu Kubernetes Grid v2.3.x,必须先升级到 v2.2.x。
在工作负载集群上升级 Kubernetes 版本时,无法跳过次要版本。例如,无法将 Tanzu Kubernetes 集群直接从 v1.24.x 升级到 v1.26.x。必须先将 v1.24.x 集群升级到 v1.25.x,然后再将集群升级到 v1.26.x。
Tanzu Kubernetes Grid v2.3 发布日期为:
与以前最新版 v2.2.0 相比,Tanzu Kubernetes Grid v2.3 中引入了以下新行为。
使用 OIDC 身份提供程序 (IDP) 通过 Pinniped 进行身份和访问管理时,必须将 OIDC IDP 配置为颁发刷新令牌。
OIDC_IDENTITY_PROVIDER_SCOPES
和 OIDC_IDENTITY_PROVIDER_ADDITIONAL_AUTHORIZE_PARAMS
。LDAPIdentityProvider
自定义资源中的配置设置相对应。在将配置为使用 LDAP 身份提供程序的管理集群升级到 Tanzu Kubernetes Grid v2.3 之前,请按照(仅限 LDAP)更新 LDAP 设置 中所述更新 LDAP 设置。在将管理集群升级到 v2.3 期间,所有现有的 LDAP 设置将自动迁移到新的 Pinniped 格式。tanzu mc permissions aws set
。有关详细信息,请参见准备升级集群中的 AWS 选项卡。ConfigMap
对象。请参见多个 Kubernetes 版本 (Multiple Kubernetes Versions) 页面上的 部署 Kubernetes 集群。本节预先通知了将在未来版本(TKG v2.3 版本之后的版本)中生效的行为更改。
tanzu login
命令将在 TKG 的未来版本中移除。命令将替换为 tanzu context
命令。有关详细信息,请参见 VMware Tanzu CLI 文档中的 tanzu 配置集。
部署和管理 TKG 2.3 独立管理集群中包含与“将 TKG 与 vSphere with Tanzu 主管配合使用”无关的独立管理集群的特定主题。
有关详细信息,请参见“VMware Tanzu Kubernetes Grid 文档 (VMware Tanzu Kubernetes Grid Documentation)”页面上的找到适用于您的部署的正确 TKG 文档。
Tanzu Kubernetes Grid v2.3.1 解决了未记录的客户问题和错误。
较低的 Tanzu Kubernetes Grid 版本中记录为已知问题的以下问题已在 Tanzu Kubernetes Grid v2.3 中得到解决。
TKG v2.3 在 vSphere 8 上不支持 IPv6 网络连接,但如 IPv6 网络连接中所述,它在 vSphere 7 上支持使用 Kube-Vip 进行单堆栈 IPv6 网络连接。
集群 autoscaler 不会将预期的密钥添加到 MachineDeployment
如果创建启用了集群 autoscaler 的集群,预期键 cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size
和 cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size
不会添加到 MachineDeployment
中的 metadata.annotations
。
所有目标平台的 ClusterClass 配置中均缺少用于为工作负载集群 MachineDeployments
设置部署策略的 WORKER_ROLLOUT_STRATEGY
变量。现在,您可以在基于类的集群以及基于计划的旧版集群上设置 WORKER_ROLLOUT_STRATEGY
变量。有关详细信息,请参见《配置文件变量参考》中的 GPU 启用集群。
AWS 上的工作负载集群节点池必须与独立管理集群位于同一可用区中。
创建配置了与管理集群所在位置不同的 az
的节点池时,新节点池可能会一直停滞在 ScalingUp
状态(如 tanzu cluster node-pool list
列出),并且永远不会达到 Ready
状态。
按照备份和还原管理集群和工作负载集群基础架构(技术预览版)中所述重新创建独立管理集群后,用户无法通过 Pinniped 身份验证登录到工作负载集群。
当执行 ID 超过 1000000+ 时,Harbor CVE 导出可能会失败
Harbor v2.7.1(TKG v2.2 打包的版本)存在已知问题,即在执行主键自动增量 ID 增加到 1000000+ 时,CVE 报告导出错误“404 页面未找到 (404 page not found)”。
tanzu package available get
的 --default-values-file-output
选项输出 Harbor 软件包的不完整配置模板文件
运行 tanzu package available get harbor.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
创建 Harbor 软件包的不完整配置模板文件。
由于集群 API 中的标签传播问题,集群的 MachineDeployment
对象中未设置基于类的工作负载集群的集群配置文件中的 AUTOSCALER_MIN_SIZE_*
和 AUTOSCALER_MAX_SIZE_*
设置。
基于类的集群名称具有 25 个字符的限制,NSX ALB 作为负载均衡器服务或输入控制器
将 NSX Advanced Load Balancer (ALB) 用作基于类的集群的负载均衡器服务或具有独立管理集群的输入控制器时,其应用程序名称包括集群名称和 load-balancer-and-ingress-service
、AKO 软件包的内部名称。当组合名称超过 Avi 控制器应用的 64 个字符限制时,tanzu cluster create
命令可能会失败,并显示错误:“找不到 avi-system
命名空间 (the avi-system namespace was not found)”。
解决办法:使用 NSX ALB 作为负载均衡器或输入控制器时,将基于类的集群名称长度限制为 25 个字符或更少。
以下是 Tanzu Kubernetes Grid v2.3.x 中的已知问题。v2.3.0 中存在的任何已知问题如果在后续的 v2.3.x 修补程序版本中已解决,都会列在修复这些问题的修补程序版本的已解决问题下。
您可以在管理集群问题故障排除和工作负载集群问题故障排除或VMware 知识库文章中找到常见问题的其他解决方案。
运行 tanzu package repository add
以将 tanzu-standard
存储库添加到 vSphere 上的单节点集群中所述的单节点集群类型可能失败。
发生这种情况的原因是,单节点集群使用 cert-manager
作为核心加载项进行引导,这与 tanzu-standard
存储库中不同的 cert-manager
软件包相冲突。
解决办法:在添加 tanzu-standard
存储库之前,请按照安装证书管理器中所述修补 cert-manager
软件包注释。
在 AWS 和 Azure 上,使用对象规范创建工作负载集群失败,并显示区域/地理区域错误
默认情况下,在 AWS 或 Azure 上,运行 tanzu cluster create
并将基于类的集群对象规范传递到 --file
会导致 Tanzu CLI 执行仅与 vSphere 可用区相关的地理区域和区域验证。
解决办法在 AWS 或 Azure 上创建基于类的集群时,请根据使用创建基于类的集群中所述的单步还是两步过程执行以下任一操作:
一步:按照所述的一步流程执行操作,方法是将 features.cluster.auto-apply-generated-clusterclass-based-configuration
设置为 true
并且不将 --dry-run
传递到 tanzu cluster create
命令。
两步:按照对象规范运行 tanzu cluster create
作为第二步之前,在本地环境中将 SKIP_MULTI_AZ_VERIFY
设置为 true
:
export SKIP_MULTI_AZ_VERIFY=true
对于管理集群和工作负载集群,如果部署具有单个控制平面节点、单个工作节点或小型或中型集群的集群,可能会遇到资源调度争用问题。
解决办法:使用单节点集群或总共具有三个或更多节点的集群。
无法基于具有 Antrea CNI 的非当前 TKr 版本创建新的工作负载集群
您无法创建使用 Antrea CNI 并运行以前版本的 TKG 附带的 Kubernetes 版本(如 Kubernetes v1.23.10)的新工作负载集群,这是 TKG v1.6.1 中的默认 Kubernetes 版本,如 Tanzu Kubernetes Grid v2.2 中支持的 Kubernetes 版本中所列。
解决办法:创建运行 Kubernetes 1.26.8、1.25.13 或 1.24.17 的工作负载集群。Kubernetes 项目建议在当前任何次要版本的最新修补程序版本上运行组件。
如果在管理集群上运行 tanzu cluster scale
并将偶数传递到 --controlplane-machine-count
选项,TKG 不会扩展控制平面节点,并且 CLI 不会输出错误。要保持仲裁数,控制平面节点计数应始终为奇数。
解决办法 不要将控制平面节点计数缩放为偶数。
注意对于 v4.0+,VMware NSX-T Data Center 被重命名为“VMware NSX”。
在 TKG v2.3 中,管理集群配置变量 AVI_DISABLE_INGRESS_CLASS
、AVI_DISABLE_STATIC_ROUTE_SYNC
、AVI_INGRESS_DEFAULT_INGRESS_CONTROLLER
不起作用。
要将管理集群的任何底层属性设置为非默认值 true
,需要在创建管理集群后手动编辑管理集群的两个 AKODeploymentConfig
配置对象,如下所述。
解决办法:编辑管理集群中的 install-ako-for-all
和 install-ako-for-management-cluster
对象:
将 kubectl
上下文设置为管理集群:
kubectl config use-context MGMT-CLUSTER-CONTEXT
编辑 install-ako-for-all
和 install-ako-for-management-cluster
配置:
kubectl edit adc install-ako-for-all
kubectl edit adc install-ako-for-management-cluster
在配置中,根据需要设置以下属性:
extraConfigs.ingress.disableIngressClass
- 适用于 config var AVI_DISABLE_INGRESS_CLASS
extraConfigs.disableStaticRouteSync
- 适用于 config var AVI_DISABLE_STATIC_ROUTE_SYNC
extraConfigs.ingress.defaultIngressController
- 适用于 config var AVI_INGRESS_DEFAULT_INGRESS_CONTROLLER
保存并退出。
这些设置将应用于管理集群随后创建的工作负载集群。
管理集群不支持 NSX ALB NodePortLocal
Ingress 模式
在 TKG v2.3 中,无法将 NSX Advanced Load Balancer (ALB) 作为服务类型以输入模式 NodePortLocal
运行,以获取管理集群的流量。
此问题不会影响对 NodePortLocal
输入工作负载集群的支持,如 NodePortLocal 模式下的 L7 输入中所述。
解决办法:在将 AVI_INGRESS_SERVICE_TYPE
设置为 NodePort
或 ClusterIP
的情况下配置管理集群。默认值为 NodePort
。
对于较旧的 NSX-T 版本和 Photon 3 或具有 Linux 内核 5.8 虚拟机的 Ubuntu,管理集群创建失败或性能下降
部署具有以下基础架构和配置的管理集群可能会失败或导致 Pod 之间的流量受限:
此组合在较旧版本的 NSX-T 和 Antrea CNI 之间暴露了校验和问题。
TMC:如果管理集群已在 Tanzu Mission Control (TMC) 中注册,则此问题没有解决办法。否则,请参见下面的解决办法。
解决办法:
ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD
设置为 "true"
的工作负载集群。此设置将停用 Antrea 的 UDP 校验和卸载,从而避免某些底层网络和物理网卡网络驱动程序的已知问题。无法启用工作负载集群以在多个数据存储之间分配存储,如部署使用数据存储集群的集群中所述。如果将数据存储集群中的多个数据存储标记为工作负载集群存储策略的基础,则工作负载集群仅使用其中一个数据存储。
解决办法:无
使用 CLI 部署管理集群时,密码中不能使用非字母数字字符 # ` ^ | / ? % ^ { [ ] } \ " < >
。此外,使用 UI 部署管理集群时,无法在 HTTP/HTTPS 代理密码中使用任何非字母数字字符。
解决办法:使用 CLI 部署管理群集时,您可以密码中使用 # ` ^ | / ? % ^ { [ ] } \ " < >
以外的非字母数字字符。
Tanzu CLI 在具有 ARM 处理器的 macOS 计算机上不起作用
Tanzu CLI v0.11.6 在具有 ARM (Apple M1) 芯片的 macOS 计算机上不起作用,如访达 (Finder) > 关于本机 (About This Mac) > 概览 (Overview) 下所示。
解决办法:使用具有 Linux 或 Windows 操作系统的引导计算机,或使用具有 Intel 处理器的 macOS 计算机。
management-cluster
命令组列出了 tanzu management-cluster osimage
。此功能目前正在开发中,并保留以供将来使用。
解决办法:请勿使用 tanzu management-cluster osimage
。
在等待集群控制平面变为可用时,将管理集群部署到 vSphere 7 失败
如果在将管理集群部署到 vSphere 7 时指定虚拟机网络,部署将失败并显示以下错误:unable to set up management cluster: unable to wait for cluster control plane available: control plane is not available yet
。
解决办法:网络“虚拟机网络”具有 VsVip
和 ServiceEngine
的多个已配置子网静态 IP。在虚拟机网络上将 exclude_discovered_subnets
设置为 True ,以忽略发现的子网并允许将虚拟服务放置在服务引擎上。
如果删除包含虚拟机的可用区,则后续无法删除这些虚拟机。
解决办法:从可用区中移除所有虚拟机,然后再将其删除。
在 vSphere 上创建工作负载集群时,创建失败并显示以下错误:
vSphere config validation failed: failed to get VC client: failed to create vc client: Post "https://address/sdk": EOF ". VCenter vpxd.log report error: Out of HTTP sessions: Limited to 2000
发生这种情况的原因是 vCenter Server 会话耗尽。
解决办法:请参阅 VMware 知识库文章 50114010。
使用 small
节点创建的节点池可能会停滞在Provisioning
状态。
使用配置为 small
的节点 SIZE
创建的节点池可能会停滞在 Provisioning
状态,并且永远不会进入 Running
状态。
解决办法:为节点池配置至少 medium
大小的节点。
在 Internet 受限的环境中不支持 Windows 工作线程
Vmware 不支持在代理或气隙环境中具有 Windows Worker 节点的 TKG 工作负载集群。
解决办法:请联系您的 VMware 代表。某些 TKG 用户构建了 Windows 自定义映像,并在脱机环境中 Windows 工作线程运行工作负载集群,例如,如此非官方存储库中所述。
运行 Kubernetes Image Builder 以创建自定义 Linux 自定义计算机映像时,goss
测试 python-netifaces
、python-requests
ebtables
失败。命令输出会报告故障。可以忽略这些错误;它们不会阻止映像构建成功。
在 Azure vSphere 解决方案 (AVS) 上,删除 vSphere CSI 持久卷 (PV) 可能会失败。删除 PV 需要 cns.searchable 权限。未使用此权限创建 AVS 的默认管理员帐户 ([email protected])。有关详细信息,请参见 vSphere 角色额权限。
解决办法:要删除 AVS 上的 vSphere CSI PV,请联系 Azure 支持部门。
使用 TKG v2.3,Tanzu Standard 软件包存储库与 TKG 分开进行版本控制和分发,其版本控制基于日期戳。
对于 TKG v2.3.0 和 v2.3.1,TKG 修补程序版本及其最新的兼容 Tanzu Standard 存储库版本大约在同一日期发布。
未来的 Tanzu Standard 存储库版本可能会比 TKG 版本发布得更频繁,但所有修补程序版本都将保留 TKG 次要版本与 Tanzu Standard 之间的现有兼容性。
对于每个 TKG v2.3 修补程序版本,其最新的兼容 Tanzu Standard 存储库版本为:
VMware 为 VMware Tanzu Standard 存储库中提供的可选软件包提供以下支持:
vmware_cert-manager
软件包包含来自上游 jetstack_cert-manager
的 acmesolver
组件。TKG 版本 | jetstack_cert-manager 版本 | vmware cert-manager 软件包版本 | Kubernetes 版本兼容性 |
2.3 | v1.11.1 | v1.11.1+vmware.1 | 1.21-1.27 |
cert manager v1.11.1 包含以下组件映像版本:
TKG v2.3 中已弃用以下 cert manager 版本:
envoy:
workload:
type: Deployment
replicas: 3
您可以使用如下数据值为 Contour 和 Envoy 工作负载中的每个容器指定资源请求或限制:
contour:
resources:
contour:
requests:
cpu: 250m
memory: 128Mi
limits:
cpu: 1
memory: 512Mi
envoy:
resources:
envoy:
# include requests and limits as desired
shutdown-manager:
# include requests and limits as desired
data-values
文件配置值。在数据值中指定不受支持的值会导致错误。Kubernetes v1.24-v1.26 支持 Contour v1.24.4。请参见 Contour 兼容性矩阵。
data-values
文件不再接受 null
值。对于值设置为 null
的任何配置字段,应完全忽略该值。external-csi-snapshot-webhook
v6.1.0。TKG 版本 | external-csi-snapshot-webhook 版本 |
预期的 Kubernetes 版本兼容性 | 已在 Kubernetes 版本上测试 |
2.3.0 | 6.1.0 | 1.18 - 最新 | 1.24 |
external-csi-snapshot-webhook 包含以下组件映像版本:
createNamespace
配置字段。设置为 true
可创建在其中安装 external-dns
组件的命名空间。如果设置为 false,软件包组件将安装到现有命名空间中。请参见以下 Fluxcd 控制器软件包发行说明:
Grafana v9.5.1 包含以下组件映像版本:
Harbor v2.8.2 包含以下组件映像版本:
按如下方式更改默认值:
namespace: kube-system
#! DaemonSet related configuration
daemonset:
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
configmap:
cniVersion: 0.3.1
multusConfigFile: auto
Prometheus v2.43.0 包含以下组件映像版本:
restic daemonset
已重命名为 node-agent
ResticRepository
CR 已重命名为 BackupRepository
velero restic repo
命令已重命名为 velero repo
velero-restic-credentials
秘钥已重命名为 velero-repo-credentials
default-volumes-to-restic
参数已重命名为 default-volumes-to-fs-backup
restic-timeout
参数已重命名为 fs-backup-timeout
default-restic-prune-frequency
参数已重命名为 default-repo-maintain-frequency
uploader-type
配置参数支持这两者,对文件系统备份进行重新引导。
BackupItemAction
、RestoreItemAction
和 VolumeSnapshotterAction
插件移至版本 v1,以便将来对可能不支持向后兼容的插件进行更改,例如复杂的数据移动任务(例如,数据移动任务)。请参见插件版本控制。-paused
标记传递到 velero schedule create
以创建暂停的调度。velero schedule pause
和 velero schedule unpause
暂停和取消暂停现有调度。TKG 版本 | Velero 版本 | 预期的 Kubernetes 版本兼容性 | 已在 Kubernetes 版本上测试 |
2.3(Halifax) | 1.10 | 1.18-latest | 1.22.5、1.23.8、1.24.6 和 1.25.1 |
Velero v1.10.3 包含以下组件映像版本:
要修复 CVE,将按如下方式更新 Velero 运行时和依赖关系版本:
由于文件系统备份发生更改,先前的升级过程不起作用。有关新的升级步骤,请参见升级至 Velero 1.10。
ipRanges
以配置双堆栈 IP 分配;请参见 whereabouts 存储库自述文件中的IPv6 配置示例。