Tanzu Kubernetes 릴리스(TKr)는 TKG 서비스 클러스터와 함께 사용하기 위해 VMware에서 서명 및 지원하는 Kubernetes 소프트웨어 배포판을 제공합니다. TKr 형식은 패키지 및 여러 운영 체제를 지원하도록 vSphere 8용으로 업데이트되었습니다.
TKr 릴리스 정보
사용 가능한 전체 TKr 목록, 각 릴리스의 새로운 기능, 알려진 문제 및 TKr 호환성에 대한 자세한 내용은 Tanzu Kubernetes 릴리스 정보를 참조하십시오.
TKr 배포 및 사용
VMware는 컨텐츠 전송 네트워크를 통해 Tanzu Kubernetes 릴리스를 배포합니다. vSphere 컨텐츠 라이브러리를 사용하여 TKr을 vSphere 네임스페이스와 연결합니다. TKr 사용을 자동화하려면 구독 컨텐츠 라이브러리를 사용합니다. 인터넷이 제한된 환경의 경우 로컬 컨텐츠 라이브러리를 사용합니다.
각 Tanzu Kubernetes 릴리스는 OVA 템플릿으로 배포됩니다. 감독자의 TKr 컨트롤러는 OVA 템플릿을 사용하여 TKG 클러스터 노드에 대한 VM을 구성합니다. VM 디스크 크기는 TKr OVA 템플릿에 의해 설정됩니다. VM 클래스를 사용하여 CPU 및 RAM 리소스를 지정합니다.
TKr 컨텐츠 라이브러리는 네임스페이스 범위가 아닙니다. 모든 vSphere 네임스페이스는 감독자의 TKG에 동일한 TKr 컨텐츠 라이브러리를 사용합니다. vSphere 네임스페이스 하나에 대한 TKr 컨텐츠 라이브러리를 편집하면 다른 모든 항목에 대해 업데이트됩니다.
TKr 이름 문자열
kubectl get tkr
을 사용하여
vSphere 네임스페이스에서 사용할 수 있는 TKr 이미지를 나열합니다. 예:
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
필드에 전체 TKr NAME 문자열을 제공합니다.
v1beta1 API를 사용하는 경우
topology.version
필드에 전체 TKr NAME 문자열을 제공합니다.
컨텐츠 라이브러리의 TKr 이름은 전체 TKr NAME 문자열이어야 합니다. 구독 컨텐츠 라이브러리를 사용하는 경우에는 TKr 이름 문자열이 생성됩니다. 로컬 컨텐츠 라이브러리를 사용하는 경우 TKr에 지정하는 이름이 TKr NAME 문자열과 일치하는지 확인합니다. 자세한 내용은 로컬 컨텐츠 라이브러리를 참조하십시오.
TKG 서비스와의 TKr 호환성
TKr은 TKG 서비스 및 감독자와 독립적으로 릴리스 및 업데이트됩니다.
TKG 클러스터를 프로비저닝하려면 TKr이 TKG 서비스와 호환되어야 합니다. TKG 서비스와 호환되지 않는 TKr은 사용할 수 없습니다. 또한 업그레이드 대상인 버전에 대해 호환되는 TKr을 실행 중인지 확인해야 합니다.
kubectl get tkr
명령을 사용하여 TKr 호환성을 확인할 수 있습니다. COMPATIBLE 열은 부울을 반환합니다. True
는 TKr이 호환됨을 의미하며, False
는 TKr이 호환되지 않음을 의미합니다.
vSphere와의 TKr 호환성
vSphere 8의 TKr 형식이 업데이트되었습니다. vSphere 8용 TKr은 vSphere 8.x에서만 실행될 수 있습니다. vSphere 7.x용 TKr은 vSphere 7에서 작동하는 레거시 이미지입니다. 이러한 이미지는 vSphere 8에서 실행할 수 있지만 업그레이드용으로만 가능합니다. 레거시 TKr 이미지는 legacy-tkr
주석 레이블로 식별됩니다.
kubectl get tkr -o yaml
및 kubectl get tkr --show-labels
명령을 사용하여 TKr 호환성을 확인할 수 있습니다. legacy-tkr
주석 레이블이 있는 경우 TKr은 vSphere 8 기능을 지원하지 않으며 vSphere 7에서 vSphere 8로 업그레이드하는 데에만 사용해야 합니다.
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
플래그를 사용하여 TKr 호환성을 확인합니다. 레이블
legacy-tkr
이 있으므로 이미지는 레거시 TKG 클러스터를 생성하는 데만 사용할 수 있습니다.
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
레이블이 레이블 목록에 없기 때문에 TKr이 vSphere 8.x용으로 특별히 구축되었음을 보여줍니다.
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
를 사용하여 해당 명령을 실행하면
legacy-tkr
레이블이 없음이 표시되며 이는 TKr이 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 ...
TKr 운영 체제 이미지 형식
TKr OS 이미지 형식은 단일 TKr에 대해 여러 운영 체제 이미지를 지원합니다. 따라서 지원되는 모든 운영 체제(현재 PhotonOS 및 Ubuntu)에 대해 특정 Kubernetes 버전에 대한 단일 Tanzu Kubernetes 릴리스가 있습니다. 기본 OS 이미지 형식은 PhotonOS입니다.
run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
주석을 사용하여 TKr의 Ubuntu OS 버전을 지정합니다. 예를 들어 다음
TKG 클러스터 규격은 명명된 TKr의 Ubuntu 버전을 사용합니다.
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
시스템이 vSphere 8로 업그레이드되면 기존 TKr은 단일 OS 이미지를 참조하여 TKr OS 이미지 형식으로 자동 변환됩니다. 이를 통해 레거시 TKr을 레거시가 아닌 TKr로 업그레이드할 수 있습니다.
레거시 TKr에는 Photon과 Ubuntu의 두 가지 버전이 있습니다. 레거시 TKr에 Ubuntu 특정 버전이 있는 경우 전체 버전 문자열('ubuntu' 포함)을 사용하고 주석 레이블을 생략하거나 짧은 버전 문자열('ubuntu' 제외)을 사용하고 버전 레이블을 포함할 수 있습니다.
TKr 패키지
vSphere 8과 호환되는 TKr 이미지는 CSI(Container Storage Interface) 및 CNI(Container Network Interface)와 같은 핵심 구성 요소에 대한 패키지 기반 프레임워크로 업데이트됩니다. v1beta API를 사용하는 경우 이러한 구성 요소의 변경 또는 업데이트는 사용자 지정 리소스 정의를 사용하여 수행됩니다.
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
사용 사례 예시는 v1beta1 예시: Calico CNI를 사용하는 클러스터 항목을 참조하십시오.
TKr OS 유형 마이그레이션
TKr 운영 체제 간의 인플레이스 클러스터 업데이트는 지원되지 않습니다. 예를 들어 TKr v1.27.11 Photon을 사용하는 TKG 클러스터를 TKr v1.28.8 Ubuntu로 업그레이드할 수 없습니다.
- Velero를 사용하여 Photon 기반 TKG 클러스터 워크로드를 백업합니다.
TKG 서비스 클러스터 및 워크로드 백업 및 복원의 내용을 참조하십시오.
- Ubuntu TKr을 사용하여 새 TKG 클러스터를 프로비저닝합니다.
TKG 서비스 클러스터 프로비저닝의 내용을 참조하십시오.
- Velero를 사용하여 TKG 클러스터 워크로드를 Ubuntu 클러스터로 복원합니다.
TKG 서비스 클러스터 및 워크로드 백업 및 복원의 내용을 참조하십시오.
TKr 강화
감독자 및 TKr을 포함한 시스템 구성 요소에 대한 STIG(Security Technical Implementation Guide)를 사용할 수 있습니다. 자세한 내용은 Tanzu STIG 강화를 참조하십시오.
자체 TKr 구축
TKr v1.25.7 for vSphere 8.x부터 vSphere 8에서 TKG 클러스터에 대한 사용자 지정 TKr 시스템 이미지를 구축할 수 있습니다. 사용자 지정 시스템 이미지는 지원되는 운영 체제 및 버전, 릴리스된 TKr을 기준으로 하는 Kubernetes 버전 및 사용자가 지정한 모든 사용자 지정을 패키징합니다.
TKG 클러스터 노드에 대한 사용자 지정 시스템 이미지를 구축하려면 vSphere Tanzu Kubernetes Grid Image Builder를 사용합니다. 사용자 지정 이미지 구축, 지원되는 TKr 버전 및 지원되는 사용자 지정에 대한 자세한 내용은 설명서를 참조하십시오.