Una versión de Tanzu Kubernetes (TKr) proporciona la distribución de software de Kubernetes firmada y compatible con VMware para su uso con clústeres de Servicio TKG. El formato TKr se actualizó para que vSphere 8 admita paquetes y varios sistemas operativos.
Notas de la versión de TKr
Consulte las Notas de la versión de las distintas versiones de Tanzu Kubernetes para obtener la lista completa de TKr disponibles, las novedades de cada versión, los problemas conocidos y la compatibilidad de TKr.
Distribución y uso de TKr
VMware distribuye versiones de Tanzu Kubernetes a través de una red de entrega de contenido. Utilice una biblioteca de contenido vSphere para asociar TKr con espacios de nombres de vSphere. Para automatizar el uso de TKr, utilice una biblioteca de contenido suscrita. Para entornos con restricciones de Internet, utilice una biblioteca de contenido local.
Cada versión de Tanzu Kubernetes se distribuye como una plantilla de OVA. La controladora de TKr en Supervisor utiliza la plantilla de OVA a fin de crear las máquinas virtuales para los nodos del clúster de TKG. El tamaño de disco de la máquina virtual se establece mediante la plantilla de OVA de TKr. Los recursos de CPU y RAM se especifican mediante clases de máquinas virtuales.
La biblioteca de contenido de TKr no está en el ámbito del espacio de nombres. Todas las instancias de espacios de nombres de vSphere utilizan la misma biblioteca de contenido de TKr para TKG en Supervisor. Al editar la biblioteca de contenido de TKr para una instancia de espacio de nombres de vSphere, se actualizará para el resto de las instancias.
Cadena TKr NAME
kubectl get tkr
para enumerar las imágenes de TKr que están disponibles y pueden usarse en
espacio de nombres de vSphere. Por ejemplo:
kubectl get tkr NAME VERSION READY COMPATIBLE CREATED v1.16.14---vmware.1-tkg.1.ada4837 v1.16.14+vmware.1-tkg.1.ada4837 False False 19d v1.17.17---vmware.1-tkg.1.d44d45a v1.17.17+vmware.1-tkg.1.d44d45a False False 19d v1.18.19---vmware.1-tkg.1.17af790 v1.18.19+vmware.1-tkg.1.17af790 False False 19d v1.19.16---vmware.1-tkg.1.df910e2 v1.19.16+vmware.1-tkg.1.df910e2 False False 19d v1.20.12---vmware.1-tkg.1.b9a42f3 v1.20.12+vmware.1-tkg.1.b9a42f3 False False 19d v1.21.6---vmware.1-tkg.1.b3d708a v1.21.6+vmware.1-tkg.1.b3d708a True True 19d v1.22.9---vmware.1-tkg.1.cc71bc8 v1.22.9+vmware.1-tkg.1.cc71bc8 True True 19d v1.23.8---vmware.2-tkg.2-zshippable v1.23.8+vmware.2-tkg.2-zshippable True True 19d v1.23.8---vmware.3-tkg.1 v1.23.8+vmware.3-tkg.1 True True 19d
tkr.reference.name
. Si utiliza la
API v1beta1, proporcione la cadena completa TKr NAME en el campo
topology.version
.
El nombre de la TKr en la biblioteca de contenido debe ser la cadena TKr NAME completa. Si utiliza una biblioteca de contenido suscrita, la cadena TKr NAME se crea automáticamente. Si utiliza una biblioteca de contenido local, asegúrese de que el nombre que asigne a la TKr coincida con la cadena TKr NAME. Consulte la biblioteca de contenido local para obtener más información.
Compatibilidad de TKr con Servicio TKG
Las TKr se publican y se actualizan de forma independiente del Servicio TKG y del Supervisor.
Para aprovisionar un clúster de TKG, la TKr debe ser compatible con el Servicio TKG. No puede utilizar una TKr que no sea compatible con el Servicio TKG. Además, debe asegurarse de ejecutar una TKr compatible para la versión de destino a la que desea actualizar.
Puede comprobar la compatibilidad de la TKr mediante el comando kubectl get tkr
. La columna COMPATIBLE devuelve un valor booleano. True
significa que la TKr es compatible y False
significa que la TKr no es compatible.
Compatibilidad de TKR con vSphere
El formato TKr se ha actualizado para vSphere 8. Las TKr para vSphere 8 solo se pueden ejecutar en vSphere 8.x. Las TKr para vSphere 7.x son imágenes heredadas que funcionan con vSphere 7. Estas imágenes se pueden ejecutar en vSphere 8, pero solo para fines de actualización. Las imágenes de TKr heredadas se identifican mediante la etiqueta de anotación legacy-tkr
.
Puede comprobar la compatibilidad de la TKr mediante los comandos kubectl get tkr -o yaml
y kubectl get tkr --show-labels
. Si la etiqueta de anotación legacy-tkr
está presente, la TKr no admite las funciones de vSphere 8 y solo se debe utilizar para actualizar a vSphere 8 desde vSphere 7.
legacy-tkr
.
kubectl get tkr v1.23.8---vmware.3-tkg.1 -o yaml
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesRelease
metadata:
creationTimestamp: "2023-03-15T20:33:17Z"
finalizers:
- tanzukubernetesrelease.run.tanzu.vmware.com
generation: 1
labels:
os-arch: amd64
os-name: photon
os-type: linux
os-version: "3.0"
run.tanzu.vmware.com/legacy-tkr: ""
v1: ""
v1.23: ""
v1.23.8: ""
v1.23.8---vmware: ""
v1.23.8---vmware.3: ""
v1.23.8---vmware.3-tkg: ""
v1.23.8---vmware.3-tkg.1: ""
name: v1.23.8---vmware.3-tkg.1
--show-labels
para comprobar la compatibilidad de la TKr. La etiqueta
legacy-tkr
está presente, por lo que la imagen solo se puede utilizar para crear un clúster de TKG heredado.
kubectl get tkr v1.23.8---vmware.3-tkg.1 --show-labels
NAME VERSION READY COMPATIBLE CREATED LABELS
v1.23.8---vmware.3-tkg.1 v1.23.8+vmware.3-tkg.1 True True 19d os-arch=amd64,os-name=photon,os-type=linux,os-version=3.0,run.tanzu.vmware.com/legacy-tkr=,
legacy-tkr
está ausente en la lista de etiquetas.
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 --show-labels NAME VERSION READY COMPATIBLE CREATED LABELS v1.28.8---vmware.1-fips.1-tkg.2 v1.28.8+vmware.1-fips.1-tkg.2 True True 21d os-arch=amd64,os-name=photon,os-type=linux,os-version=5.0,tkr.tanzu.vmware.com/standard=,v1.28.8---vmware.1-fips.1-tkg.2=,v1.28.8---vmware.1-fips.1-tkg=,v1.28.8---vmware.1-fips.1=,v1.28.8---vmware.1-fips=,v1.28.8---vmware.1=,v1.28.8---vmware=,v1.28.8=,v1.28=,v1=
-o yaml
también se muestra que la etiqueta
legacy-tkr
está ausente, lo que indica que la TKr está diseñada para vSphere 8.x.
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 -o yaml apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesRelease metadata: creationTimestamp: "2024-05-08T20:03:57Z" finalizers: - tanzukubernetesrelease.run.tanzu.vmware.com generation: 2 labels: os-arch: amd64 os-name: photon os-type: linux os-version: "5.0" tkr.tanzu.vmware.com/standard: "" v1: "" v1.28: "" v1.28.8: "" v1.28.8---vmware: "" v1.28.8---vmware.1: "" v1.28.8---vmware.1-fips: "" v1.28.8---vmware.1-fips.1: "" v1.28.8---vmware.1-fips.1-tkg: "" v1.28.8---vmware.1-fips.1-tkg.2: "" name: v1.28.8---vmware.1-fips.1-tkg.2 ...
Formato TKr Imagen de sistema operativo
El formato TKr Imagen de sistema operativo admite varias imágenes de sistema operativo para una sola TKr. Esto significa que hay una única versión de Tanzu Kubernetes para una versión específica de Kubernetes para todos los sistemas operativos compatibles, actualmente Photon OS y Ubuntu. El formato predeterminado de imagen de sistema operativo es PhotonOS.
run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
para especificar la edición del sistema operativo Ubuntu de TKr. Por ejemplo, la siguiente
especificación de clúster de TKG utiliza la edición Ubuntu de la TKr designada.
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkgs-cluster-ubuntu namespace: tkgs-cluster-ns annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu spec: topology: controlPlane: ... tkr: reference: name: v1.28.8---vmware.1-fips.1-tkg.2
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkgs-cluster-multiOS namespace: tkgs-cluster-ubuntu annotations: //Worker nodes annotation run.tanzu.vmware.com/resolve-os-image.np-1: os-name=ubuntu spec: topology: controlPlane: tkr: reference: name: v1.28.8---vmware.1-fips.1-tkg.2 replicas: 3 vmClass: guaranteed-medium storageClass: tkgs-storage-profile nodePools: - replicas: 3 name: np-1 vmClass: guaranteed-medium storageClass: tkgs-storage-profile
Cuando el sistema se actualiza a vSphere 8, las TKr existentes se convierten automáticamente al formato Imagen de sistema operativo TKr con referencia a una sola imagen del sistema operativo. Esto permite que las TKr heredadas sean compatibles para la actualización a una TKr no heredada.
Las TKr heredadas tienen dos ediciones: Photon y Ubuntu. Cuando la TKr heredada tiene una edición específica de Ubuntu, puede utilizar la cadena de versión completa (con "ubuntu") y omitir la etiqueta de anotación, u utilizar la cadena de versión corta (sin "ubuntu") e incluir la etiqueta de versión.
Paquetes de TKr
Las imágenes de TKr compatibles con vSphere 8 se actualizan a un marco basado en paquetes para los componentes básicos, como la interfaz de almacenamiento de contenedor (Container Storage Interface, CSI) y la interfaz de red de contenedor (Container Network Interface, CNI). Si utiliza la API v1beta, el cambio o la actualización de estos componentes se realiza mediante definiciones de recursos personalizados.
kubectl get tkr TKR-NAME -o yaml
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 -o yaml
spec: bootstrapPackages: - name: antrea.tanzu.vmware.com.1.13.3+vmware.3-tkg.2-vmware - name: vsphere-pv-csi.tanzu.vmware.com.3.1.0+vmware.1-tkg.6-vmware - name: vsphere-cpi.tanzu.vmware.com.1.28.0+vmware.1-tkg.1-vmware - name: kapp-controller.tanzu.vmware.com.0.48.2+vmware.1-tkg.1-vmware - name: guest-cluster-auth-service.tanzu.vmware.com.1.3.3+tkg.1-vmware - name: metrics-server.tanzu.vmware.com.0.6.2+vmware.3-tkg.5-vmware - name: secretgen-controller.tanzu.vmware.com.0.15.0+vmware.1-tkg.1-vmware - name: pinniped.tanzu.vmware.com.0.25.0+vmware.2-tkg.1-vmware - name: capabilities.tanzu.vmware.com.0.32.1+vmware.1 - name: gateway-api.tanzu.vmware.com.1.0.0+vmware.1-tkg.1-vmware - name: calico.tanzu.vmware.com.3.26.3+vmware.1-tkg.1-vmware
Consulte Ejemplo de v1beta1: clúster con CNI de Calico para ver un ejemplo de caso práctico.
Migrar tipos de sistema operativo de TKr
No se admiten actualizaciones de clústeres in situ entre sistemas operativos de TKr. Esto significa, por ejemplo, que no se puede actualizar un clúster de TKG mediante TKr v1.27.11 de Photon a TKr v1.28.8 de Ubuntu.
- Con Velero, haga una copia de seguridad de las cargas de trabajo del clúster de TKG basado en Photon.
Consulte Copia de seguridad y restauración de cargas de trabajo y clústeres de servicio TKG.
- Aprovisione un nuevo clúster de TKG mediante la TKr de Ubuntu.
- Con Velero, restaure las cargas de trabajo del clúster de TKG en el clúster de Ubuntu.
Consulte Copia de seguridad y restauración de cargas de trabajo y clústeres de servicio TKG.
Fortalecimiento de TKr
Hay disponibles guías de implementación técnica de seguridad (STIG) para los componentes del sistema, incluido el Supervisor y las TKr. Consulte Fortalecimiento de STIG de Tanzu para obtener más información.
Crear su propia TKr
A partir de TKr v1.25.7 para vSphere 8.x, puede crear imágenes de máquina TKr personalizadas para clústeres de TKG en vSphere 8. Una imagen de máquina personalizada empaqueta un sistema operativo y una versión compatibles, una versión de Kubernetes basada en una TKr publicada y cualquier personalización que realice.
Para crear imágenes de máquina personalizadas para los nodos de clúster de TKG, utilice Tanzu Kubernetes Grid Image Builder de vSphere. Consulte la documentación para obtener más información sobre la creación de imágenes personalizadas, las versiones de TKr compatibles y las personalizaciones admitidas.