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 NAME 문자열을 사용하여 감독자에서 TKG 클러스터를 프로비저닝합니다. v1alpha3 API를 사용하는 경우 tkr.reference.name 필드에 전체 TKr NAME 문자열을 제공합니다. v1beta1 API를 사용하는 경우 topology.version 필드에 전체 TKr NAME 문자열을 제공합니다.
참고: 클러스터 규격에서 TKr을 참조할 때 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 yamlkubectl 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입니다.

기본적으로 명명된 TKr의 PhotonOS 버전은 TKG 클러스터 노드에 사용됩니다. 참조된 TKr이 OS 이미지 형식을 지원하고 Ubuntu OS 버전을 사용할 수 있는 경우 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
OS 이미지 형식은 이기종 클러스터 배포를 지원합니다. 예를 들어 다음 클러스터 매니페스트는 제어부 노드에 대한 기본 PhotonOS와 작업자 노드에 대한 Ubuntu를 사용하여 Tanzu Kubernetes 클러스터를 생성합니다. TKr 버전은 제어부 섹션에서 참조되며 주석은 명명된 작업자 노드 풀에 대해 Ubuntu를 지정합니다.
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를 사용하는 경우 이러한 구성 요소의 변경 또는 업데이트는 사용자 지정 리소스 정의를 사용하여 수행됩니다.

TKr을 구성하는 패키지를 보려면 다음 명령을 실행합니다.
kubectl get tkr TKR-NAME -o yaml
예:
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 -o yaml
이 명령은 TKr의 모든 패키지를 반환합니다. 예:
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로 업그레이드할 수 없습니다.

TKG 클러스터가 사용 중인 TKr OS 유형을 변경하려면 다음 절차를 고려하십시오. 이 예에서 원본 클러스터는 TKr Photon을 사용하고 대상은 TKr Ubuntu입니다.

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 버전 및 지원되는 사용자 지정에 대한 자세한 내용은 설명서를 참조하십시오.