Excepto donde se indique, estas notas de la versión se aplican a todas las versiones de revisión v2.1.x de Tanzu Kubernetes Grid (TKG).
TKG v2.1 se distribuye como un paquete de CLI de Tanzu descargable que implementa un clúster de administración independiente de TKG con versión. TKG v2.1 es la primera versión de TKG que admite la creación y la administración de clústeres de carga de trabajo basados en clases con un clúster de administración independiente que se puede ejecutar en varias infraestructuras, incluidas vSphere, AWS y Azure.
ImportanteEl supervisor de vSphere with Tanzu en vSphere 8.0.1c y versiones posteriores ejecuta TKG v2.2. Las versiones anteriores de vSphere 8 ejecutan TKG v2.0, que no se publicó independientemente del supervisor. Los clústeres de administración independientes que ejecutan TKG 2.x están disponibles a partir de TKG 2.1. Las versiones posteriores de TKG se integrarán en Supervisor en futuras versiones de actualización de vSphere. En consecuencia, es posible que la versión de TKG integrada en la versión de vSphere with Tanzu más reciente en un momento determinado no sea la misma que la versión independiente de TKG que utiliza. Sin embargo, las versiones de la CLI de Tanzu que son compatibles con todas las versiones de TKG v2.x son totalmente compatibles con Supervisor en todas las versiones de vSphere 8.
PrecauciónLas versiones de CLI de Tanzu que son compatibles con TKG 2.x y con el supervisor vSphere with Tanzu en vSphere 8 no son compatibles con el clúster supervisor en vSphere 7. Para utilizar la CLI de Tanzu con un clúster supervisor vSphere with Tanzu en vSphere 7, utilice la versión CLI de Tanzu de TKG v1.6. Para utilizar las versiones de la CLI de Tanzu que son compatibles con TKG 2.x con Supervisor, actualice a vSphere 8. Puede implementar un clúster de administración de TKG 2.x independiente en vSphere 7 si no hay un clúster supervisor vSphere with Tanzu. Para obtener información sobre la compatibilidad entre los productos de CLI de Tanzu y VMware, consulte la documentación de CLI de Tanzu.
Tanzu Kubernetes Grid v2.1 incluye las siguientes funciones nuevas.
Nuevas funciones de Tanzu Kubernetes Grid v2.1.1:
MHC_MAX_UNHEALTHY_CONTROL_PLANE
y MHC_MAX_UNHEALTHY_WORKER_NODE
. Para obtener más información, consulte Comprobaciones de estado de máquinas en Referencia de variables de archivo de configuración.CUSTOM_TDNF_REPOSITORY_CERTIFICATE
(vista previa técnica). Para obtener más información, consulte Configuración de nodo en Referencia de variables de archivo de configuración.TKG_NODE_SYSTEM_WIDE_PROXY
(vista previa técnica). Para obtener más información, consulte Configuración de proxy en Referencia de variables de archivo de configuración.Nuevas funciones de Tanzu Kubernetes Grid v2.1.0:
package
utiliza comandos de estilo kctrl
de forma predeterminada. Consulte Paquete de Tanzu en la Referencia de comandos de la CLI de Tanzu.isolated-cluster
download-bundle
y los comandos upload-bundle
recuperan y transfieren todas las imágenes de contenedor que TKG necesita, como se describe en Preparar un entorno con acceso a Internet restringido.-A
y --all-namespaces
para tanzu cluster list
incluye clústeres en todos los espacios de nombres que administra el clúster de administración y para los que el usuario tiene permisos de View o superiores, no solo el espacio de nombres predeterminado.context
permite a los usuarios establecer y administrar contextos para la CLI de Tanzu, que incluyen el servidor de destino y el kubeconfig
que se aplicará. Consulte Contexto de Tanzu en la Referencia de comandos de la CLI de Tanzu.
tanzu login
en favor de los comandos tanzu context
.Target
para complementos cambia el comportamiento de la CLI y agrega funcionalidades reservadas para un uso futuro, como se describe en Cambios en el comportamiento de Tanzu Kubernetes Grid v2.1, a continuación.auto-apply-generated-clusterclass-based-configuration
aplica automáticamente la configuración del clúster basada en clases generada por la CLI de Tanzu cuando se pasa un archivo de configuración del clúster heredado a tanzu cluster create
. La función está establecida en false
de forma predeterminada. Consulte Funciones en Arquitectura y configuración de la CLI de Tanzu.allow-legacy-cluster
permite crear clústeres basados en planes. La función está establecida en false
de forma predeterminada. Consulte Funciones en Arquitectura y configuración de la CLI de Tanzu.tanzu mc credentials update
y tanzu cluster credentials update
agregan opciones para Azure. Esto incluye --azure-client-id
, --azure-client-secret
y --azure-tenant-id
.CONTROL_PLANE_NODE_LABELS
, CONTROL_PLANE_NODE_NAMESERVERS
, CONTROL_PLANE_NODE_SEARCH_DOMAINS
, WORKER_NODE_NAMESERVERS
, WORKER_NODE_SEARCH_DOMAINS
ExtraArgs
: APISERVER_EXTRA_ARGS
, CONTROLPLANE_KUBELET_EXTRA_ARGS
, ETCD_EXTRA_ARGS
, KUBE_CONTROLLER_MANAGER_EXTRA_ARGS
, KUBE_SCHEDULER_EXTRA_ARGS
, WORKER_KUBELET_EXTRA_ARGS
NTP_SERVERS
, APISERVER_EVENT_RATE_LIMIT_CONF_BASE64
Machine
del nodo de clúster identifican la dirección de su host ESXi, para admitir el uso de nodeSelector para ejecutar cargas de trabajo específicas en hardware especializado.LoadBalancer
de capa 4 para cargas de trabajo; consulte Equilibrador de carga de Kube-VIP (vista previa técnica).tiny
que minimicen su espacio.Cada versión de Tanzu Kubernetes Grid agrega compatibilidad con la versión de Kubernetes de su clúster de administración, además de versiones adicionales de Kubernetes, distribuidas como versiones Tanzu Kubernetes (TKr).
Cualquier versión de Tanzu Kubernetes Grid admite todas las versiones de TKr de las dos líneas secundarias anteriores de Kubernetes, excepto donde se indique Problema conocido. Por ejemplo, TKG v2.1.x admite las versiones de Kubernetes v1.23.x y v1.22.x que se enumeran a continuación, pero no v1.21.x ni versiones anteriores.
Versión de Tanzu Kubernetes Grid | Versión de Kubernetes del clúster de administración | Versiones de Kubernetes (TKr) proporcionadas |
---|---|---|
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 |
1.6.1 | 1.23.10 | 1.23.10, 1.22.13, 1.21.14 |
1.6.0 | 1.23.8 | 1.23.8, 1.22.11, 1.21.14 |
1.5.4 | 1.22.9 | 1.22.9, 1.21.11, 1.20.15 |
1.5.3 | 1.22.8 | 1.22.8, 1.21.11, 1.20.15 |
1.5.2, 1.5.1, 1.5.0 | 1.22.5 | 1.22.5, 1.21.8, 1.20.14 |
Tanzu Kubernetes Grid v2.1 admite las siguientes plataformas de infraestructura y sistemas operativos (SO), así como con los componentes de creación y administración de clústeres, redes, almacenamiento, autenticación, copia de seguridad y migración y observación. Las versiones de los componentes que aparecen entre paréntesis se incluyen en Tanzu Kubernetes Grid v2.1.1. Para obtener más información, consulte Versiones de los componentes.
vSphere | AWS | Azure | |
Plataforma de la infraestructura |
|
AWS nativo | Azure nativo |
Infraestructura de CLI, API y de paquetes | Tanzu Framework v0.28.1 | ||
Creación y administración de clústeres | API de clúster principal (v1.2.8), proveedor de la API del clúster vSphere (v1.5.3) | API de clúster principal (v1.2.8), proveedor de la API del clúster AWS (v2.0.2) | API de clúster principal (v1.2.8), proveedor de la API del clúster Azure (v1.6.3) |
Sistema operativo del nodo de Kubernetes distribuido con TKG | Photon OS 3, Ubuntu 20.04 | Amazon Linux 2, Ubuntu 20.04 | Ubuntu 18.04, Ubuntu 20.04 |
Cree su propia imagen | Photon OS 3, Red Hat Enterprise Linux 7*** y 8, Ubuntu 18.04, Ubuntu 20.04, Windows 2019 | Amazon Linux 2, Ubuntu 18.04 y Ubuntu 20.04 | Ubuntu 18.04, Ubuntu 20.04 |
Tiempo de ejecución del contenedor | Containerd (v1.6.6) | ||
Redes de contenedores | Antrea (v1.7.2), Calico (v3.24.1) | ||
Registro de contenedores | Harbor (v2.6.3) | ||
Entrada | NSX Advanced Load Balancer Essentials y controlador Avi **** (v21.1.3- v21.1.6, v22.1.1, v22.1.2), Contour (v1.22.3) | Contour (v1.22.3) | Contour (v1.22.3) |
Almacenamiento | Interfaz de almacenamiento del contenedor de vSphere (v2.5.2*) y almacenamiento nativo en la nube de vSphere | Controlador CSI de Amazon EBS (v1.8.0) y proveedores de nube en el árbol | Controlador CSI de discos de Azure (v1.19.0), controlador CSI de archivos de Azure (v1.21.0) y proveedores de nube en el árbol |
Autenticación | OIDC a través de Pinniped (v0.12.1), LDAP a través de Pinniped (v0.12.1) y Dex | ||
Observabilidad | Fluent Bit (v1.9.5), Prometheus (v2.37.0), Grafana (v7.5.17) | ||
Copia de seguridad y migración | Velero (v1.9.5) |
* Versión de vsphere_csi_driver. Para obtener una lista completa de los componentes de la interfaz de almacenamiento del contenedor de vSphere incluidos en Tanzu Kubernetes Grid versión 1.6, consulte Versiones de los componentes.
** Para obtener una lista de las versiones de SDDC de VMware Cloud on AWS compatibles con esta versión, consulte Matriz de interoperabilidad de productos de VMware.
Tanzu Kubernetes Grid v1.6 es la última versión que admite la creación de imágenes de Red Hat Enterprise Linux 7.
En vSphere 8, para utilizar NSX Advanced Load Balancer con un clúster de administración independiente de TKG y sus clústeres de carga de trabajo, necesita NSX ALB v22.1.2 o una versión posterior y TKG v2.1.1 o una versión posterior.
Para obtener una lista completa de las versiones de Kubernetes que se incluyen en Tanzu Kubernetes Grid v2.1, consulte la sección anterior Versiones de Kubernetes compatibles en Tanzu Kubernetes Grid v2.1.
Las versiones Tanzu Kubernetes Grid v2.1.x incluyen las siguientes versiones de los componentes de software:
Componente | TKG v2.1.1 | TKG v2.1.0 |
---|---|---|
aad-pod-identity | v1.8.13+vmware.2* | v1.8.13+vmware.1* |
addons-manager | v2.1+vmware.1-tkg.3 | v2.1+vmware.1-tkg.3 |
ako-operator | v1.7.0+vmware.3 | v1.7.0+vmware.3* |
alertmanager | v0.24.0+vmware.2* | v0.24.0+vmware.1 |
antrea | v1.7.2+vmware.1-advanced | v1.7.2+vmware.1-advanced* |
aws-ebs-csi-driver | v1.8.0+vmware.2 | v1.8.0+vmware.2* |
azuredisk-csi-driver | v1.19.0+vmware.1 | v1.19.0+vmware.1* |
azurefile-csi-driver* | v1.21.0+vmware.1 | v1.21.0+vmware.1 |
calico_all | v3.24.1+vmware.1 | v3.24.1+vmware.1* |
capabilities-package | v0.28.1-dev-capabilities* | v0.28.0-dev-capabilities* |
carvel-secretgen-controller | v0.11.2+vmware.1 | v0.11.2+vmware.1* |
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.9+vmware.1* |
cloud_provider_vsphere | v1.24.3+vmware.1 | v1.24.3+vmware.1* |
clúster-api-provider-azure | v1.6.3_vmware.1* | v1.6.1_vmware.1* |
cluster_api | v1.2.8+vmware.1 | v1.2.8+vmware.1* |
cluster_api_aws | v2.0.2+vmware.1 | v2.0.2+vmware.1* |
cluster_api_vsphere | v1.5.3+vmware.1l* | v1.5.1+vmware.1l* |
cni_plugins | v1.1.1+vmware.18* | v1.1.1+vmware.16* |
configmap-reload | v0.7.1+vmware.2* | v0.7.1+vmware.1 |
containerd | v1.6.6+vmware.3* | v1.6.6+vmware.1* |
contour | v1.22.3+vmware.1 | v1.22.3+vmware.1* |
coredns | v1.8.6+vmware.17* | v1.8.6+vmware.15* |
crash-diagnostics | v0.3.7+vmware.6 | v0.3.7+vmware.6* |
cri_tools | v1.23.0+vmware.8* | v1.23.0+vmware.7* |
csi_attacher | v3.5.0+vmware.1, v3.4.0+vmware.1, v3.3.0+vmware.1 |
v3.5.0+vmware.1*, v3.4.0+vmware.1, v3.3.0+vmware.1 |
csi_livenessprobe | v2.7.0+vmware.1, v2.6.0+vmware.1, v2.5.0+vmware.1, v2.4.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.5.1+vmware.1, v2.5.0+vmware.1, v2.3.0+vmware.1 |
v2.5.1+vmware.1, v2.5.0+vmware.1, v2.3.0+vmware.1 |
csi_provisioner | v3.2.1+vmware.1, v3.1.0+vmware.2, v3.0.0+vmware.1 |
v3.2.1+vmware.1*, v3.1.0+vmware.2, v3.0.0+vmware.1 |
dex | v2.35.3+vmware.2 | v2.35.3+vmware.2* |
envoy | v1.23.3+vmware.2 | v1.23.3+vmware.2* |
external-dns | v0.12.2+vmware.4 | v0.12.2+vmware.4* |
external-snapshotter | v6.0.1+vmware.1, v5.0.1+vmware.1 |
v6.0.1+vmware.1, v5.0.1+vmware.1 |
etcd | v3.5.6+vmware.6* | v3.5.6+vmware.3* |
fluent-bit | v1.9.5+vmware.1 | v1.9.5+vmware.1* |
gangway | v3.2.0+vmware.2 | v3.2.0+vmware.2 |
grafana | v7.5.17+vmware.1* | v7.5.16+vmware.1 |
guest-cluster-auth-service | v1.2.0* | v1.1.0* |
harbor | v2.6.3+vmware.1 | v2.6.3+vmware.1* |
image-builder | v0.1.13+vmware.2 | v0.1.13+vmware.2* |
image-builder-resource-bundle | v1.24.10+vmware.1-tkg.1* | v1.24.9+vmware.1-tkg.1* |
imgpkg | v0.31.1+vmware.1 | v0.31.1+vmware.1* |
jetstack_cert-manager | v1.10.1+vmware.1 | v1.10.1+vmware.1* |
k8s-sidecar | v1.15.6+vmware.3*, v1.12.1+vmware.5* |
v1.15.6+vmware.2, v1.12.1+vmware.3* |
k14s_kapp | v0.53.2+vmware.1 | v0.53.2+vmware.1* |
k14s_ytt | v0.43.1+vmware.1 | v0.43.1+vmware.1* |
kapp-controller | v0.41.5+vmware.1, v0.38.5+vmware.2 |
v0.41.5+vmware.1*, v0.38.5+vmware.2* |
kbld | v0.35.1+vmware.1 | v0.35.1+vmware.1* |
kube-state-metrics | v2.6.0+vmware.2* | v2.6.0+vmware.1* |
kube-vip | v0.5.7+vmware.1 | v0.5.7+vmware.1* |
kube-vip-cloud-provider* | v0.0.4+vmware.2 | v0.0.4+vmware.2 |
kube_rbac_proxy | v0.11.0+vmware.2 | v0.11.0+vmware.2 |
kubernetes | v1.24.10+vmware.1* | v1.24.9+vmware.1* |
kubernetes-csi_external-resizer | v1.4.0+vmware.1, v1.3.0+vmware.1 |
v1.4.0+vmware.1*, v1.3.0+vmware.1 |
kubernetes-sigs_kind | v1.24.10+vmware.1-tkg.1_v0.17.0* | v1.24.9+vmware.1-tkg.1_v0.17.0* |
kubernetes_autoscaler | v1.24.0+vmware.1 | v1.24.0+vmware.1* |
load-balancer-and-ingress-service (AKO) | v1.8.2+vmware.1 | v1.8.2+vmware.1* |
metrics-server | v0.6.2+vmware.1 | v0.6.2+vmware.1* |
multus-cni | v3.8.0+vmware.2 | v3.8.0+vmware.2* |
pinniped | v0.12.1+vmware.1-tkg.1 | v0.12.1+vmware.1-tkg.1 |
pinniped-post-deploy | v0.12.1+vmware.2-tkg.3 | v0.12.1+vmware.2-tkg.3* |
prometheus | v2.37.0+vmware.2* | v2.37.0+vmware.1* |
prometheus_node_exporter | v1.4.0+vmware.2* | v1.4.0+vmware.1* |
pushgateway | v1.4.3+vmware.2* | v1.4.3+vmware.1 |
sonobuoy | v0.56.13+vmware.1 | v0.56.13+vmware.1* |
standalone-plugins-package | v0.28.1-dev-standalone-plugins* | v0.28.1-dev-standalone-plugins* |
tanzu-framework | v0.28.1* | v0.28.0* |
tanzu-framework-addons | v0.28.1* | v0.28.0* |
tanzu-framework-management-packages | v0.28.1-tf* | v0.28.0-tf* |
tkg-bom | v2.1.1* | v2.1.0* |
tkg-core-packages | v1.24.10+vmware.1-tkg.1* | v1.24.9+vmware.1-tkg.1* |
tkg-standard-packages | v2.1.1* | v2.1.0* |
tkg-storageclass-package | v0.28.1-tkg-storageclass* | v0.28.0-tkg-storageclass* |
tkg_telemetry | v2.1.1+vmware.1* | v2.1.0+vmware.1* |
velero | v1.9.5+vmware.1 | v1.9.5+vmware.1* |
velero-mgmt-cluster-plugin* | v0.1.0+vmware.1 | v0.1.0+vmware.1 |
velero-plugin-for-aws | v1.5.3+vmware.1 | v1.5.3+vmware.1* |
velero-plugin-for-csi | v0.3.3+vmware.1 | v0.3.3+vmware.1* |
velero-plugin-for-microsoft-azure | v1.5.3+vmware.1 | v1.5.3+vmware.1* |
velero-plugin-for-vsphere | v1.4.2+vmware.1 | v1.4.2+vmware.1* |
vendir | v0.30.1+vmware.1 | v0.30.1+vmware.1* |
vsphere_csi_driver | v2.6.2+vmware.2 | v2.6.2+vmware.2* |
whereabouts | v0.5.4+vmware.1 | v0.5.4+vmware.1* |
* Indica un nuevo componente o un nuevo bump de versiones desde la versión anterior. TKG v2.1.0 es anterior a v2.1.1, y v1.6.1 es anterior a v2.1.0.
Para obtener una lista completa de versiones de componentes de software que se incluyen en TKG v2.1, utilice imgpkg
para extraer el paquete de repositorios y, a continuación, enumerar su contenido. Para TKG v2.1.1, por ejemplo:
imgpkg pull -b projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1 -o standard-2.1.1
cd standard-2.1.1/packages
tree
Los archivos de lista de materiales locales, como los siguientes, también muestran las versiones del paquete, pero pueden no estar actualizados:
~/.config/tanzu/tkg/bom/tkg-bom-v2.1.yaml
~/.config/tanzu/tkg/bom/tkr-bom-v1.24.10+vmware.1-tkg.1.yaml
En la ruta de acceso de actualización de TKG, v2.1 sigue inmediatamente a v1.6. TKG v2.0 no es una versión descargable de TKG: es la versión de TKG que está integrada en el Supervisor de vSphere with Tanzu en vSphere 8.
Solo puede actualizar a Tanzu Kubernetes Grid v2.1.x desde v1.6.x. Si desea actualizar a Tanzu Kubernetes Grid v2.1.x desde una versión anterior a v1.6.x, primero debe actualizar a v1.6.x.
Al actualizar versiones de Kubernetes en clústeres de carga de trabajo, no se pueden omitir versiones secundarias. Por ejemplo, no puede actualizar un clúster de Tanzu Kubernetes directamente de v1.21.x a v1.23.x. Debe actualizar un clúster de v1.21.x a v1.22.x antes de actualizar el clúster a v1.23.x.
Las fechas de versión de Tanzu Kubernetes Grid v2.1 son:
Tanzu Kubernetes Grid v2.1 introduce los siguientes comportamientos nuevos en comparación con la versión 1.6.1, que es la versión anterior más reciente.
--include-management-cluster
para tanzu cluster list
requiere la opción -A
para enumerar un clúster de administración independiente. Con la opción -A
, el comando enumera los clústeres de todos los espacios de nombres.El complemento package
de la CLI de Tanzu utiliza comandos de estilo kctrl
de forma predeterminada. Consulte Paquete de Tanzu con kctrl en la referencia de comandos de CLI de Tanzu.
package
se ejecutaba de forma predeterminada con el modo kctrl
desactivado, denominado modo heredado a continuación.Los comandos del modo kctrl
y del modo heredado se diferencian de la siguiente manera:
tanzu package available get
del modo kctrl
utilizan la marca--generate-default-values-file
en lugar de --default-values-file-output
.--create-namespace
. Si utiliza -n
o --namespace
para especificar un espacio de nombres de destino, el espacio de nombres ya debe existir.--create
para package repository update
.--package-name
se cambió a --package
para package installed create
y package install
.--install
para package installed update
.--verbose
.--poll-interval
y -poll-timeout
se cambió a --wait-interval
y --wait-timeout
.package available get
, una tabla adicional enumera las versiones disponibles para el paquete.package available list
, se eliminó la columna LATEST-VERSION
y SHORT-DESCRIPTION
no se muestra de forma predeterminada; para que se muestre, utilice la marca --wide
.package repository list
, las columnas REPOSITORY
y TAG
se reemplazaron por una columna SOURCE
que consta de tipo de origen (por ejemplo, imgpkg
), URL del repositorio y etiqueta.Consulte los temas en Paquetes administrados por CLI en la documentación de TKG v1.6 para conocer cómo funciona el complemento tanzu package
con el modo kctrl
desactivado.
tanzu-standard
no está preinstalado en clústeres basados en clases. Para agregar el repositorio de paquetes, consulte Agregar un repositorio de paquetes.AWS_*
para crear una nueva VPC para un CIDR especificado. Si desea utilizar una nueva VPC, antes de implementar un clúster de administración independiente en AWS, debe crear una VPC para la implementación de TKG mediante la consola de AWS.CLI de Tanzu utiliza una nueva abstracción Targets para asociar diferentes grupos de comandos con el tipo de servidor al que se aplican los comandos. El comando tanzu context list
hace referencia al mismo concepto que tipo de contexto, con la marca --target
. Debido a que los grupos de comandos se basan en complementos de CLI:
k8s
tmc
reservado para un uso futurotanzu cluster
, se ajusten al contexto.En TKG v2.1, el único tipo de contexto o Target compatible es k8s
, que también se indica mediante:
Kubernetes cluster operations
en los resultados de los comandos tanzu help
kubernetes
en la columna TARGET
de los resultados de tanzu plugin list
tanzu cluster create
con verificación por huella digital; consulte Requisitos previos para la implementación de clústeres.Una nueva publicación, Implementar y administrar clústeres de administración independientes de TKG 2.1, incluye temas específicos de los clústeres de administración independientes que no son pertinentes para usar TKG con un supervisor de vSphere with Tanzu.
Para obtener más información, consulte Buscar los documentos de TKG adecuados para la implementación en la página Documentación de VMware Tanzu Kubernetes Grid.
Los siguientes problemas documentados como Problemas conocidos en Tanzu Kubernetes Grid v2.1.0 han resuelto en Tanzu Kubernetes Grid v2.1.1.
No se puede implementar una CNI personalizada
La opción CNI:none
no funciona en los clústeres de carga de trabajo implementados desde un clúster de administración independiente. Las únicas opciones disponibles son antrea
(valor predeterminado) y calico
.
La cuenta de usuario de TKG crea sesiones de vCenter inactivas
La cuenta de vSphere para TKG crea sesiones de vCenter inactivas y como se indica en vSphere > Hosts y clústeres > su vCenter > pestaña Supervisor > Sesiones.
Solución alternativa: Elimine las sesiones de vCenter inactivas iniciando y deteniendo todas las sesiones:
ssh
en vCenter como root
shell
service-control --stop --all
Stopped
service-control --start --all
Los servicios LoadBalancer
para clústeres de carga de trabajo basados en clases en Azure necesitan una configuración manual de puerta de enlace o front-end
Debido a una falta de coincidencia de nombre entre AzureClusterName
y ClusterName
, no se puede acceder desde Internet a los servicios de tipo LoadBalancer
que se implementan para su uso por parte de aplicaciones en clústeres de carga de trabajo de Azure basados en clases.
Solución alternativa: Proporcione su propia ruta para el servicio del equilibrador de carga, por ejemplo, a través de una puerta de enlace NAT, un proxy u otro enrutamiento interno, para permitir que los nodos detrás del equilibrador de carga accedan a Internet.
VMware recomienda utilizar una puerta de enlace NAT, si está disponible, para la conectividad saliente. Si una puerta de enlace NAT no está disponible:
LoadBalancer
que crea CAPZ, que debe tener el mismo nombre que el de AzureCluster
.Configure y cree el servicio con la siguiente especificación; establezca el valor loadBalancerIP
en la dirección IP pública donde se indique con IP-ADDRESS
:
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
namespace: sample-app
spec:
# Add the frontend public IP here
loadBalancerIP: IP-ADDRESS
type: LoadBalancer
ports:
- port: 80
selector:
app: guestbook
tier: frontend
La actualización de clústeres no actualiza la versión de Kube-VIP
Al actualizar los clústeres de carga de trabajo y administración independientes a la versión 2.1, no se actualiza su kube-vip
a la versión actual.
Solución alternativa: Para los clústeres actualizados que utilizan Kube-VIP para su endpoint de plano de control, tal como se configuró con AVI_CONTROL_PLANE_HA_PROVIDER = false
, actualice el componente kube-vip
:
Recupere el archivo de TKr BoM actual utilizado para la actualización del clúster. Busque una copia local de este archivo en ~/.config/tanzu/tkg/bom/
con un nombre de archivo que empiece con tkr-
. Por ejemplo, tkr-bom-v1.24.10+vmware.1-tkg.1.yaml
.
Enumere la versión actual kube-vip
del archivo de la BoM, por ejemplo:
$ cat ~/.config/tanzu/tkg/bom/tkr-bom-v1.24.10+vmware.1-tkg.1.yaml | yq '.components.kube-vip'
- version: v0.5.7+vmware.1
images:
kubeVipImage:
imagePath: kube-vip
tag: v0.5.7_vmware.1
Obtenga el objeto kcp
para el clúster. El nombre de este objeto tiene el formato CLUSTER-NAME-control-plane
.
default
si no se estableció NAMESPACE
.Ejecute kubectl edit
para editar el objeto kcp
y actualice la ruta de acceso de kube-vip
para que coincida con la versión actual de la imagen de la BoM. Busque la ubicación de este ajuste ejecutando:
kubectl get kcp <cluster-name>-control-plane -o jsonpath='{.spec.kubeadmConfigSpec.files[0]}' | jq
La actualización de los clústeres de administración de v1.5.x a v2.1.0 provoca un error de red de nodo debido a una avi_ingress_node_network_list
nula en el secreto de operador de AKO
Con clústeres de administración independientes creados originalmente en TKG v1.5 o versiones anteriores, la actualización a la versión 2.1.0 establece un valor nulo para avi_ingress_node_network_list
en el secreto de operador de AKO. Esto provoca un error de red de nodo al actualizar a la versión 2.1.0 y genera errores de configuración de AVI faltantes en los registros.
Solución alternativa: Después de actualizar CLI de Tanzu a la versión 2.1.0, pero antes de ejecutar tanzu mc upgrade
:
Cambie al contexto del clúster de administración:
kubectl config use-context <MGMT-CLUSTER>-admin@<MGMT-CLUSTER>
Recupere el secreto de operador de AKO y descodifique sus valores de datos:
kubectl get secret <MGMT-CLUSTER>-ako-operator-addon -n tkg-system -o jsonpath="{.data.values\.yaml}" | base64 --decode > values.yaml
Abra el archivo values.yaml
con un editor de texto. El ajuste avi_ingress_node_network_list
tendrá este aspecto:
avi_ingress_node_network_list: '""'
Cambie el ajuste como este, con el rango de la red de nodos del clúster:
avi_ingress_node_network_list: '[{"networkName":"VM Network", "cidrs":["10.191.176.0/20"]}]'
Codifique en base64 los nuevos valores de datos y registre la cadena de resultados:
base64 -w 0 values.yaml
Edite el secreto de operador de AKO:
kubectl edit secret MGMT-CLUSTER-ako-operator-addon -n tkg-system
Pegue la nueva cadena de valores de datos codificados como el valor de values.yaml
en el secreto. Guarde y salga.
TMC no puede implementar clústeres basados en clases con motores de servicio que no estén en el SEG Default-Group
.
Tanzu Mission Control, que se integra con TKG, no puede implementar nuevos clústeres basados en clases que utilicen NSX ALB y que estén configurados con motores de servicio que no estén en el grupo de motores de servicio Default-Group
en NSX ALB. Esta limitación no afecta a la actualización de los clústeres de carga de trabajo existentes configurados con motores de servicio personalizados.
Para obtener más información, consulte las Notas de la versión de Tanzu Mission Control.
No se admite el catálogo de TMC para enumerar e implementar paquetes
No se puede utilizar la función Catálogo de Tanzu Mission Control (TMC) para enumerar o instalar paquetes en clústeres de carga de trabajo de TKG v2.1, como se describe en Ver paquetes en la documentación de TMC. La interfaz de usuario de TMC mostrará el repositorio de paquetes bloqueado en un estado de conciliación.
Los siguientes problemas documentados como Problemas conocidos en Tanzu Kubernetes Grid v1.6.1 se han resuelto en Tanzu Kubernetes Grid v2.1.0.
Las operaciones de clúster y pod que eliminan pods pueden fallar si DaemonSet está configurado para restaurar automáticamente volúmenes persistentes
En instalaciones en las que un DaemonSet utiliza volúmenes persistentes (PV), es posible que se produzca un error en la eliminación de la máquina debido a que el proceso de purga de forma predeterminada ignora DaemonSets y el sistema espera de forma indefinida a que los volúmenes se desconecten del nodo. Las operaciones del clúster afectadas incluyen la actualización, la reducción horizontal y la eliminación.
En vSphere with Tanzu, tanzu cluster list
genera un error para los usuarios de desarrollo y operaciones
Cuando un usuario con la función de ingeniero de desarrollo y operaciones, como se describe en Flujos de trabajo y funciones de usuario de vSphere with Tanzu, ejecuta tanzu cluster list
, es posible que vea un error similar a Error: unable to retrieve combined cluster info: unable to get list of clusters. User cannot list resource "clusters" at the cluster scope
.
Esto sucede porque el comando tanzu cluster command
sin una opción -n
intenta acceder a todos los espacios de nombres, algunos de los cuales pueden no estar accesibles para un usuario ingeniero de desarrollo y operaciones.
Solución alternativa: Al ejecutar tanzu cluster list
, incluya un valor --namespace
para especificar un espacio de nombres al que el usuario pueda acceder.
A continuación se muestran los problemas conocidos de Tanzu Kubernetes Grid v2.1.x. Todos los problemas conocidos presentes en la versión 2.1.1 que se hayan resuelto en una versión de revisión posterior a v2.1.x se enumeran en Problemas resueltos para la versión de revisión en la que se resolvieron.
A continuación, se muestran los problemas de actualización conocidos de v2.1.1.
Se produce un error al actualizar de v2.1 a v2.1.1 en vSphere
En vSphere, se produce el siguiente error al actualizar de v2.1 a v2.1.1, Reconcile failed:Error
. El error se produce porque el paquete tkg-clusterclass-vsphere
no se concilia y la instalación está bloqueada.
Solución alternativa: Anule la configuración de las siguientes variables de recursos de vSphere si están establecidas en el entorno local:
unset VSPHERE_CLONE_MODE
unset VSPHERE_DATACENTER
unset VSPHERE_DATASTORE
unset VSPHERE_FOLDER
unset VSPHERE_NETWORK
unset VSPHERE_RESOURCE_POOL
unset VSPHERE_SERVER
unset VSPHERE_STORAGE_POLICY_ID
unset VSPHERE_TEMPLATE
unset VSPHERE_WORKER_DISK_GIB
unset VSPHERE_WORKER_MEM_MIB
unset VSPHERE_WORKER_NUM_CPUS
A continuación, se muestran los problemas de actualización conocidos de v2.1.x.
Se produce un error al actualizar los clústeres en Azure
En Azure, se produce un error al actualizar los clústeres de administración y los clústeres de carga de trabajo con errores como context deadline exceeded
o unable to upgrade management cluster: error waiting for kubernetes version update for kubeadm control plane
. Esto sucede porque las operaciones en Azure a veces tardan más que en otras plataformas.
Solución alternativa: Vuelva a ejecutar tanzu management-cluster upgrade
o tanzu cluster upgrade
y especifique un tiempo de espera más largo en la marca --timeout
. El tiempo de espera predeterminado es 30m0s.
Se produce un error en la actualización de los clústeres de administración independientes creados originalmente en TKG v1.3 o versiones anteriores
En TKG v2.1, los componentes que convierten un clúster genérico en un clúster de administración independiente de TKG se empaquetan en un paquete Carvel tkg-pkg
. Los clústeres de administración independientes que se crearon originalmente en TKG v1.3 o versiones anteriores carecen de un secreto de configuración que el proceso de actualización requiere para instalar tkg-pkg
, lo que provoca un error en la actualización.
Solución alternativa: Realice los pasos adicionales que se indican en Actualizar clústeres de administración independientes para los clústeres de administración independientes creados en TKG v1.3 o versiones anteriores.
Se produce un error en la actualización de los clústeres creados con el carácter comodín (*
) en el ajuste TKG_NO_PROXY
TKG v1.6 no permite el carácter comodín (*
) en los ajustes del archivo de configuración del clúster para TKG_NO_PROXY
. Los clústeres creados por versiones anteriores de TKG con esta opción requieren un control especial antes de actualizar, para evitar el error workload cluster configuration validation failed: invalid string '*' in TKG_NO_PROXY
.
Solución alternativa: Según el tipo de clúster que esté actualizando:
Clúster de administración:
kubectl
del clúster de administración.Edite configMap kapp-controller-config:
kubectl edit cm kapp-controller-config -n tkg-system
Busque el campo data.noProxy
y cambie su nombre de host comodín eliminando *
. Por ejemplo, cambie *.vmware.com to
.vmware.com
Guarde y salga. El clúster está listo para actualizarse.
Clúster de carga de trabajo:
kubectl
Establezca variables de entorno para el nombre y el espacio de nombres del clúster, por ejemplo:
CLUSTER_NAME=my-test-cluster
NS=my-test-namespace
Obtenga y descodifique los valores de datos del controlador kapp para el clúster de carga de trabajo:
kubectl get secret "${CLUSTER_NAME}-kapp-controller-data-values" -n $NS -o json | jq -r '.data."values.yaml"' | base64 -d > "${CLUSTER_NAME}-${NS}-kapp-controller-data-values"
Edite el archivo ${CLUSTER_NAME}-${NS}-kapp-controller-data-values
eliminando *
de su ajuste kappController.config.noProxy
. Por ejemplo, cambie *.vmware.com to
a .vmware.com
.
Vuelva a codificar el archivo de valores de datos ${CLUSTER_NAME}-${NS}-kapp-controller-data-values
:
cat "${CLUSTER_NAME}-${NS}-kapp-controller-data-values" | base64 -w 0
Edite el secreto ${CLUSTER_NAME}-${NS}-kapp-controller-data-values
y actualice su ajuste data.value.yaml
pegando la cadena de valores de datos recién codificados.
kubectl edit secret "${CLUSTER_NAME}-kapp-controller-data-values" -n "${NS}"
Guarde y salga. El clúster está listo para actualizarse.
Los TKr de versiones anteriores no están disponibles inmediatamente después de actualizar el clúster de administración independiente
Al actualizar un clúster de administración independiente de TKG v1.6 a v2.1, se reemplaza el controlador de origen de TKr por una versión más reciente que admite clústeres basados en clases y, a continuación, se vuelven a sincronizar TKr. Como resultado, una vez que se complete el comando tanzu mc upgrade
, es posible que tanzu cluster available-upgrades get
y tanzu kubernetes-release get
no muestren todas las versiones válidas de TKr y que la CLI de Tanzu no pueda actualizar inmediatamente los clústeres de carga de trabajo.
Solución alternativa: Espere unos minutos para que los TKr se vuelvan a descargar.
La actualización de la configuración requiere la actualización de algunos paquetes
Problema conocido: v2.1.1
El repositorio de paquetes Tanzu Standard para TKG v2.1.1 no tiene las siguientes versiones de paquetes que se encuentran en el repositorio de v2.1.0:
cert-manager
1.10.1+vmware.1-tkg.1.yml
, 1.5.3+vmware.7-tkg.1.yml
, y 1.7.2+vmware.3-tkg.1.yml
external-dns
0.10.0+vmware.1-tkg.3.yml
, 0.11.0+vmware.1-tkg.3.yml
, y 0.12.2+vmware.4-tkg.1.yml
grafana
: 7.5.16+vmware.1-tkg.2.yml
Por este motivo, después de actualizar un clúster de carga de trabajo de TKG v2.1.0 a v2.1.1, no se puede ejecutar tanzu package installed update
para actualizar las configuraciones de estos paquetes sin actualizar también los paquetes a las versiones más recientes:
cert-manager
: 1.10.1+vmware.1-tkg.2.yml
external-dns
: 0.12.2+vmware.4-tkg.2.yml
grafana
: 7.5.17+vmware.1-tkg.1.yml
Este problema solo se genera si necesita cambiar la configuración del paquete; los paquetes instalados seguirán ejecutándose sin actualizar.
Solución alternativa: Realice una de las siguientes acciones:
Si necesita actualizar la configuración del paquete cert-manager
, external-dns
o grafana
:
tanzu package installed get
para recuperar la versión del paquete.-v
al ejecutar tanzu package installed update
.Después de actualizar los clústeres de carga de trabajo a TKG v2.1.1, actualice los tres paquetes a las versiones anteriores.
Para obtener los comandos tanzu package
, consulte , como se describe en Instalar y administrar paquetes.
Se produce un error en la CNI de Multus en pods medium
y más pequeños con NSX Advanced Load Balancer
En vSphere, los clústeres de carga de trabajo con nodos de trabajo medium
o más pequeños que ejecutan el paquete de la CNI de Multus con NSX ALB pueden generar errores con Insufficient CPU
u otro tipo de errores.
Solución alternativa: Para utilizar la CNI de Multus con NSX ALB, implemente clústeres de carga de trabajo con nodos de trabajo de tamaño large
o extra-large
.
El archivo BoM de TKG contiene una versión errónea del paquete cert-manager
El archivo de la lista de materiales (BoM) de TKG que la CLI de Tanzu instala en ~/.config/tanzu/tkg
enumera las versiones v1.5.3 y v1.7.2 para el paquete cert manager
(jetstack_cert-manager
). La versión correcta para instalar es la 1.5.3, como se describe en Instalar cert-manager.
Solución alternativa: Instale la versión 1.5.3 de cert-manager
.
Para desactivar Pinniped, es necesario eliminar Secret
de forma manual en los clústeres heredados
Cuando se desactiva la administración de identidades externa en un clúster de administración, el objeto Pinniped no utilizado Secret
permanece presente en los clústeres de carga de trabajo heredados.
Si un usuario intenta acceder al clúster mediante un kubeconfig
antiguo, aparecerá una ventana emergente de inicio de sesión y se producirá un error.
Solución alternativa: Elimine manualmente Pinniped Secret
del clúster heredado, como se describe en Desactivar administración de identidades.
Se puede producir un error en la exportación de CVE de Harbor cuando el identificador de ejecución supera los 1 000 000.
Harbor v2.6.3, que es la versión empaquetada para TKG v2.1, tiene un problema conocido por el que CVE informa de la exportación con el error "404 page not found" cuando el identificador de incremento automático de clave principal de ejecución asciende a 1 000 000 o más.
Este problema de Harbor se resuelve en versiones posteriores de Harbor que están programadas para incluirse en versiones posteriores de TKG.
No se admite la memoria caché del proxy de Harbor
No se puede utilizar Harbor en la función caché del proxy para ejecutar Tanzu Kubernetes Grid v2.1 en un entorno con acceso a Internet restringido. Puede seguir utilizando una memoria caché de proxy de Harbor para aplicar el proxy a imágenes de versiones anteriores de Tanzu Kubernetes Grid, así como imágenes que no son de Tanzu, como las imágenes de aplicaciones.
Solución alternativa: Ninguna
Los paquetes no cumplen con el perfil de PSA de línea base predeterminado
Con los controladores PSA en TKG, en un estado de vista previa técnica no compatible, algunos paquetes de TKG no cumplen con el perfil baseline
predeterminado.
Solución alternativa: Establezca las etiquetas audit=privileged
y warn=privileged
en los espacios de nombres del paquete afectado, como se describe en Controlador de admisión de seguridad de pods (vista previa técnica).
Se produce un error al agregar un repositorio estándar para clústeres de nodo único
La ejecución de tanzu package repository add
para agregar el repositorio tanzu-standard
a un clúster de nodo único del tipo descrito en Clústeres de nodo único en vSphere (vista previa técnica) puede fallar.
Esto sucede porque los clústeres de nodo único arrancan con cert-manager
como complemento principal, lo que entra en conflicto con el paquete cert-manager
diferente en el repositorio tanzu-standard
.
Solución alternativa: Antes de agregar el repositorio tanzu-standard
, aplique las anotaciones del paquete cert-manager
como se describe en Instalar cert-manager.
Los siguientes son problemas conocidos de operaciones de clúster en la v2.1.1.
No se pueden crear nuevos clústeres de carga de trabajo basados en versiones de TKr no actuales con CNI de Antrea
No se puede crear un nuevo clúster de carga de trabajo que utilice CNI de Antrea y ejecute versiones de Kubernetes enviadas con versiones anteriores de TKG, como Kubernetes v1.23.10, que es la versión predeterminada de Kubernetes en TKG v1.6.1, como se indica en Versiones de Kubernetes compatibles en Tanzu Kubernetes Grid v2.1.
TKG v2.1.1 es totalmente compatible con clústeres existentes que ejecutan versiones anteriores de Kubernetes.
Solución alternativa: Cree un clúster de carga de trabajo que ejecute Kubernetes 1.24.10, 1.23.16 o 1.22.17. El proyecto de Kubernetes recomienda que se ejecuten componentes en la versión de revisión más reciente de cualquier versión secundaria actual.
tanzu cluster create
no valida correctamente las especificaciones de clúster generadas con versiones de Kubernetes no predeterminadas
Cuando se crea un clúster de carga de trabajo basado en clases a partir de un archivo de configuración mediante uno de los procesos de dos pasos descritos en Crear un clúster basado en clases y se especifica un valor de --tkr
en el primer paso para basar el clúster en una versión no predeterminada de Kubernetes, en el segundo paso se pueden producir errores de validación.
Solución alternativa: En el segundo paso, al ejecutar tanzu cluster create
por segunda vez y pasar el manifiesto del clúster generado, especifique los mismos valores de --tkr
y de otras opciones que especificó en el primer paso, como se describe en Crear un clúster basado en clases.
El escalador automático para clústeres basados en clases requiere anotaciones manuales
Debido a un problema de propagación de etiquetas en la API del clúster, los ajustes AUTOSCALER_MIN_SIZE_*
y AUTOSCALER_MAX_SIZE_*
en el archivo de configuración del clúster para los clústeres de carga de trabajo basados en clases no se establece en los objetos MachineDeployment
del clúster.
Solución alternativa: Después de crear un clúster de carga de trabajo basado en clases con el escalador automático de clúster habilitado, añada manualmente el ajuste de recuento mínimo y máximo de máquinas para cada AZ, como se describe en Añadir manualmente anotaciones de tamaño mínimo y máximo.
No se pueden cambiar las labels
del grupo de nodos ni otras propiedades de configuración.
No puede agregar ni cambiar las propiedades labels
, az
, nodeMachineType
ni vSphere de un grupo de nodos existente, como se indica en Propiedades de configuración.
Solución alternativa: Cree un nuevo grupo de nodos en el clúster con las propiedades deseadas, migre las cargas de trabajo al nuevo grupo de nodos y elimine el original.
No se pueden escalar los nodos del plano de control del clúster de administración a un número par
Si ejecuta tanzu cluster scale
en un clúster de administración y envía un número par a la opción --controlplane-machine-count
, TKG no escala los nodos del plano de control y la CLI no genera un error. Para mantener el cuórum, los recuentos de nodos del plano de control siempre deben ser impares.
Solución alternativa: No escale los recuentos de nodos del plano de control a un número par.
Los nombres de clúster basados en clases tienen un límite de 25 caracteres con NSX ALB como servicio de equilibrador de carga o controlador de entrada
Cuando se utiliza NSX Advanced Load Balancer (ALB) como controlador de entrada o servicio de equilibrador de carga de un clúster basado en clases con un clúster de administración independiente, sus nombres de aplicaciones incluyen el nombre del clúster y load-balancer-and-ingress-service
, el nombre interno del paquete AKO. Cuando el nombre combinado supera el límite de 64 caracteres para las aplicaciones del controlador AVI, el comando tanzu cluster create
puede generar un error que indica que no se encontró el espacio de nombres avi-system
.
Solución alternativa: Limite la longitud del nombre de clúster basado en clases a 25 caracteres o menos cuando utilice NSX ALB como equilibrador de carga o controlador de entrada.
NotaPara v4.0+, se cambia el nombre de VMware NSX-T Data Center a "VMware NSX".
Al crear un archivo de configuración ClusterClass
a partir de un archivo de configuración heredado y --dry-run
se incluye una configuración de Antrea vacía
Al crear un archivo de configuración ClusterClass
mediante tanzu cluster create --dry-run -f
con un archivo de configuración heredado que incluye una entrada de ANTREA_NODEPORTLOCAL
, se produce una configuración de Antrea autogenerada que no incluye ninguna etiqueta, lo que hace que Antrea no se concilie correctamente. Esto sucede porque en TKG 2.1.1, los recursos de AntreaConfig
necesitan la etiqueta de tkg.tanzu.vmware.com/package-name label
para que el administrador de complementos instale Antrea en el clúster de carga de trabajo designado. Este problema no se aplica a 2.1.0.
Solución alternativa: Agregue las etiquetas que faltan a AntreaConfig
en el archivo de configuración ClusterClass
e intente crear el clúster de nuevo:
labels:
tkg.tanzu.vmware.com/cluster-name: rito
tkg.tanzu.vmware.com/package-name: antrea.tanzu.vmware.com.1.7.2---vmware.1-tkg.1-advanced
No se admiten redes IPv6 en vSphere 8
TKG v2.1 no admite redes IPv6 en vSphere 8, aunque sí admite redes IPv6 de pila única mediante Kube-Vip en vSphere 7, como se describe en Redes IPv6.
Solución alternativa: Si necesita o actualmente utiliza TKG en un entorno IPv6 en vSphere, no instale ni actualice a vSphere 8.
El modo de entrada NodePortLocal
de NSX ALB no es compatible con el clúster de administración
En TKG v2.1, no se puede ejecutar NSX Advanced Load Balancer (ALB) como un tipo de servicio con modo de entrada NodePortLocal
para el tráfico hacia el clúster de administración.
Este problema no afecta a la compatibilidad con la entrada NodePortLocal
a los clústeres de carga de trabajo, como se describe en Entrada L7 en el modo NodePortLocal.
Solución alternativa: Configure los clústeres de administración con AVI_INGRESS_SERVICE_TYPE
establecido en NodePort
o ClusterIP
. El valor predeterminado es NodePort
.
Se produce un error en la creación del clúster de administración o el rendimiento es lento con versiones anteriores de NSX-T y máquinas virtuales con Photon 3 o Ubuntu y kernel de Linux 5.8
La implementación de un clúster de administración con la siguiente infraestructura y configuración puede fallar o resultar en un tráfico restringido entre los pods:
Esta combinación expone un problema de suma de comprobación entre versiones anteriores de NSX-T y CNI de Antrea.
TMC: Si el clúster de administración está registrado en Tanzu Mission Control (TMC), no hay ninguna solución alternativa para este problema. De lo contrario, consulte las soluciones alternativas que aparecen a continuación.
Soluciones alternativas:
ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD
establecido en "true"
. Este ajuste desactiva la descarga de la suma de comprobación UDP de Antrea, lo que evita los problemas conocidos con algunos controladores de red de NIC físicas y de red subyacentes.Volver a crear un clúster de administración independiente no restaura la autenticación de Pinniped
Después de volver a crear un clúster de administración independiente como se describe en Copia de seguridad y restauración de la infraestructura del clúster de carga de trabajo y administración (vista previa técnica), los usuarios no pueden iniciar sesión en los clústeres de carga de trabajo a través de la autenticación Pinniped.
Solución alternativa: Después de volver a crear el clúster de administración, vuelva a configurar la administración de identidades como se describe en Habilitar y configurar la administración de identidades en una implementación existente.
Al cambiar el objeto StorageClass
predeterminado, se produce un error de conciliación en los clústeres de carga de trabajo
Si se modifican las propiedades de un objeto StorageClass
predeterminado incluido en TKG, se produce un error de conciliación de paquetes en los clústeres de carga de trabajo que utilizan la clase de almacenamiento.
Solución alternativa: Para personalizar una clase de almacenamiento, cree una nueva definición de StorageClass
con un name
diferente, en lugar de modificar la definición de objeto predeterminada, y vuelva a configurar el clúster para que use la nueva clase de almacenamiento.
El clúster de carga de trabajo no puede distribuir el almacenamiento entre varios almacenes de datos
No puede habilitar un clúster de carga de trabajo para distribuir el almacenamiento entre varios almacenes de datos como se describe en Implementar un clúster que usa un clúster de almacén de datos. Si etiqueta varios almacenes de datos en un clúster de almacenes de datos como base para la directiva de almacenamiento de un clúster de carga de trabajo el clúster de carga de trabajo utiliza solo uno de los almacenes de datos.
Solución alternativa: Ninguna
No se pueden utilizar caracteres no alfanuméricos en las contraseñas de proxy HTTP/HTTPS
Al implementar clústeres de administración con la CLI, los caracteres no alfanuméricos # ` ^ | / ? % ^ { [ ] } \ " < >
no se pueden utilizar en las contraseñas. Además, no se puede utilizar ningún carácter no alfanumérico en las contraseñas de proxy HTTP/HTTPS al implementar el clúster de administración con la interfaz de usuario.
Solución alternativa: Puede utilizar caracteres no alfanuméricos que no sean # ` ^ | / ? % ^ { [ ] } \ " < >
en las contraseñas al implementar el clúster de administración con la CLI.
La CLI de Tanzu no funciona en máquinas macOS con procesadores ARM
La CLI de Tanzu v0.11.6 no funciona en máquinas macOS con chips ARM (Apple M1), como se identifica en Buscador (Finder) > Acerca de este Mac (About This Mac) > Descripción general (Overview).
Solución alternativa: Utilice una máquina de arranque con un sistema operativo Linux o Windows, o bien una máquina macOS con un procesador Intel.
La CLI de Tanzu enumera tanzu management-cluster osimage
El grupo de comandos management-cluster
enumera tanzu management-cluster osimage
. Esta función está actualmente en desarrollo y está reservada para su uso en el futuro.
Solución alternativa: No use tanzu management-cluster osimage
Error de validación cuando se ejecuta tanzu cluster create
De forma predeterminada, cuando se pasa un archivo de configuración de clave-valor plano a la opción --file
de tanzu cluster create
, el comando convierte el archivo de configuración en un archivo de especificación de objeto de estilo Kubernetes y, a continuación, sale. Este comportamiento se controla mediante la función auto-apply-generated-clusterclass-based-configuration
, que está establecida en false
de forma predeterminada. En algunos casos, cuando se pasa el archivo de especificación de objeto de estilo Kubernetes generado por la opción --file
a tanzu cluster create
, se produce un error en el comando similar al siguiente:
Error: workload cluster configuration validation failed...
Este error también puede producirse al pasar un archivo de especificación de objeto de estilo Kubernetes generado por la opción --dry-run
a tanzu cluster create
.
Solución alternativa: Establezca el parámetro de configuración o los parámetros enumerados en la salida de error como variables de entorno local. Como alternativa, para evitar este error, puede crear clústeres basados en clases en un paso, sin previsualizar su configuración, estableciendo la función auto-apply-generated-clusterclass-based-configuration
en true
y, a continuación, ejecutando tanzu cluster create
. Para establecer auto-apply-generated-clusterclass-based-configuration
en true
, ejecute:
tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration true
Esto configura CLI de Tanzu para crear siempre clústeres basados en clases en un solo paso. Para obtener más información, consulte Crear un clúster basado en clases.
La opción --default-values-file-output
de los resultados tanzu package available get
genera un archivo de plantilla de configuración incompleto para el paquete de Harbor
Al ejecutar tanzu package available get harbor.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
, se crea un archivo de plantilla de configuración incompleto para el paquete de Harbor. Para obtener un archivo completo, utilice el comando imgpkg pull
como se describe en Instalar Harbor para el registro de servicios.
Windows CMD: Caracteres extraños en los encabezados de las columnas de resultados de CLI
En la línea de comandos de Windows (CMD), los resultados del comando de la CLI de Tanzu con formato en columnas incluye caracteres extraños en los encabezados de las columnas.
El problema no ocurre en Windows Terminal ni PowerShell.
Solución alternativa: En máquina de arranque de Windows, ejecute la CLI de Tanzu desde Windows Terminal.
Error de AKODeploymentConfig
que se puede ignorar durante la creación del clúster de administración
Al ejecutar tanzu management-cluster create
para crear un clúster de administración con resultados de NSX ALB, se produce el siguiente error: no matches for kind ???AKODeploymentConfig??? in version ???networking.tkg.tanzu.vmware.com/v1alpha1???
. Se puede ignorar el error. Para obtener más información, consulte este artículo en la base de conocimientos.
Los errores machinehealthcheck
y clusterresourceset
que se pueden ignorar durante la creación del clúster de carga de trabajo en vSphere
Cuando se implementa un clúster de carga de trabajo en vSphere mediante el comando tanzu cluster create
a través de vSphere with Tanzu, el resultado puede incluir errores relacionados con la ejecución de machinehealthcheck
y el acceso a los recursos clusterresourceset
, como se muestra a continuación:
Error from server (Forbidden): error when creating "/tmp/kubeapply-3798885393": machinehealthchecks.cluster.x-k8s.io is forbidden: User "sso:[email protected]" cannot create resource "machinehealthchecks" in API group "cluster.x-k8s.io" in the namespace "tkg"
...
Error from server (Forbidden): error when retrieving current configuration of: Resource: "addons.cluster.x-k8s.io/v1beta1, Resource=clusterresourcesets", GroupVersionKind: "addons.cluster.x-k8s.io/v1beta1, Kind=ClusterResourceSet"
...
El clúster de carga de trabajo se creó correctamente. Puede ignorar los errores.
La CLI informa de forma errónea temporalmente del estado de los nodos eliminados recientemente cuando se desactivan los MHC
Cuando las comprobaciones de estado de las máquinas (MHC) se desactivan, los comandos de la CLI de Tanzu, como tanzu cluster status
, pueden no informar del estado actualizado del nodo mientras se vuelve a crear la infraestructura.
Solución alternativa: Ninguna
Los grupos de nodos creados con nodos small
pueden detenerse en Provisioning
Los grupos de nodos creados con el nodo SIZE
configurado como small
pueden bloquearse en el estado Provisioning
y nunca continuar con Running
.
Solución alternativa: Configure el grupo de nodos con al menos nodos de tamaño medium
.
Con NSX ALB, no se pueden crear clústeres con nombres idénticos
Si utiliza NSX Advanced Load Balancer para cargas de trabajo (AVI_ENABLE
) o el plano de control (AVI_CONTROL_PLANE_HA_PROVIDER
), es posible que el controlador AVI no pueda distinguir entre clústeres con nombres idénticos.
Solución alternativa: Establezca un valor CLUSTER_NAME
único para cada clúster:
Clústeres de administración: No cree varios clústeres de administración con el mismo valor CLUSTER_NAME
, ni siquiera desde máquinas de arranque diferentes.
Clústeres de carga de trabajo: No cree varios clústeres de carga de trabajo que tengan el mismo CLUSTER_NAME
y que también estén en el mismo espacio de nombres del clúster de administración, tal y como establece su valor NAMESPACE
.
Para añadir la administración de identidades externa a una implementación existente, es posible que sea necesario establecer un valor VSPHERE_CONTROL_PLANE_ENDPOINT
ficticio
Para integrar un proveedor de identidad externo con una implementación de TKG existente, es posible que sea necesario establecer un valor VSPHERE_CONTROL_PLANE_ENDPOINT
ficticio en el archivo de configuración del clúster de administración utilizado para crear el secreto del complemento, como se describe en Generar el secreto del complemento Pinniped para el clúster de administración
El problema de etiquetado de recursos de CAPA provoca un error de conciliación durante la implementación y la actualización del clúster de administración de AWS.
Debido a un problema de etiquetado de recursos en el proveedor de API del clúster AWS (CAPA) ascendente, las implementaciones sin conexión no pueden acceder a la API ResourceTagging
, lo que provoca errores de conciliación durante la creación o la actualización del clúster de administración.
Solución alternativa: En un entorno de AWS sin conexión, establezca EXP_EXTERNAL_RESOURCE_GC=false
en el entorno local o en el archivo de configuración del clúster de administración antes de ejecutar tanzu mc create
o tanzu mc upgrade
.
Los grupos de nodos del clúster de carga de trabajo en AWS deben estar en la misma zona de disponibilidad que el clúster de administración independiente.
Al crear un grupo de nodos configurado con un az
que sea diferente al lugar donde se encuentra el clúster de administración, es posible que el nuevo grupo de nodos permanezca bloqueado con el estado ScalingUp
, tal y como se indica en tanzu cluster node-pool list
, y nunca llegue al estado Ready
.
Solución alternativa: Cree grupos de nodos únicamente en la misma zona de disponibilidad que el clúster de administración independiente.
Se produce un error al eliminar el clúster en AWS si el clúster utiliza recursos de redes no implementados con Tanzu Kubernetes Grid.
Los comandos tanzu cluster delete
y tanzu management-cluster delete
pueden dejar de responder con los clústeres que utilizan recursos de redes creados por AWS Cloud Controller Manager independientemente del proceso de implementación de Tanzu Kubernetes Grid. Estos recursos pueden incluir equilibradores de carga y otros servicios de redes, como se indica en El controlador de servicios en la documentación del proveedor de nube de Kubernetes AWS.
Para obtener más información, consulte el problema de la API del clúster Purgar clústeres de carga de trabajo del servicio Type=Loadbalancer en el desmontaje.
Solución alternativa: Utilice kubectl delete
para eliminar servicios del tipo LoadBalancer
del clúster. O bien, si se produce un error, utilice la consola de AWS para eliminar manualmente cualquier objeto LoadBalancer
y SecurityGroup
creado para este servicio por el administrador de controladores de nube.
Precaución: No elimine los equilibradores de carga ni los grupos de seguridad administrados por Tanzu, que tienen las etiquetas
key: sigs.k8s.io/cluster-api-provider-aws/cluster/CLUSTER-NAME
,value: owned
.
Se produce un error en la eliminación del clúster cuando el volumen de almacenamiento utiliza una cuenta con endpoint privado
Con un clúster de carga de trabajo de Azure en un grupo de recursos no administrado, cuando el controlador CSI de Azure crea un volumen persistente (PV) que utiliza una cuenta de almacenamiento con un endpoint privado, crea un recurso privateEndpoint
y un recurso vNet
que no se eliminan cuando se elimina el PV. Como resultado, al eliminar el clúster, se produce un error como subnets failed to delete. err: failed to delete resource ... Subnet management-cluster-node-subnet is in use
.
Solución alternativa: Antes de eliminar el clúster de Azure, elimine manualmente la interfaz de red del endpoint privado de la cuenta de almacenamiento:
networkinterfaces
, seleccione el recurso de NIC que no se puede eliminar.No se puede crear una imagen de máquina Windows en una máquina MacOS
Debido a un problema con la utilidad packer
de código abierto utilizada por Kubernetes Image Builder, no se puede crear una imagen de máquina Windows en una máquina MacOS como se describe en Imágenes de máquina personalizadas de Windows.
Solución alternativa: Use una máquina Linux para crear sus imágenes de máquina personalizadas de Windows.
No se admiten la copia de seguridad ni la restauración para los clústeres de carga de trabajo de varios sistemas operativos
No se pueden realizar copias de seguridad ni restaurar clústeres de carga de trabajo con nodos de trabajo basados en Windows.
Solución alternativa: Ninguna
La prueba goss
que se puede ignorar falla durante el proceso de creación de imagen
Cuando se ejecuta Kubernetes Image Builder para crear una imagen de máquina personalizada de Linux, las pruebas goss
python-netifaces
, python-requests
y ebtables
producen errores. Los resultados del comando informan de los errores. Los errores se pueden ignorar; no impiden que se cree correctamente la imagen.
La eliminación del volumen de vSphere CSI podría fallar en AVS
En Azure vSphere Solution (AVS), la eliminación de volúmenes persistentes (PV) de vSphere CSI puede producir un error. Para eliminar un PV, se requiere el permiso cns.searchable. La cuenta de administrador predeterminada para AVS, [email protected], no se crea con este permiso. Para obtener más información, consulte Funciones y privilegios de vSphere.
Solución alternativa: Para eliminar un PV de vSphere CSI en AVS, póngase en contacto con el soporte de Azure.