이 항목에서는 사용 가능한 Kubernetes 버전을 나열하고 기본값이 아닌 Kubernetes 버전으로 워크로드 클러스터를 배포하는 방법을 설명합니다.
독립형 관리 클러스터가 있는 Tanzu Kubernetes Grid 각 버전에는 기본 버전과 기본값이 아닌 두 개의 Kubernetes 버전이 제공되며, tanzu kubernetes-release get
를 실행하여 나열할 수 있습니다.
Tanzu Kubernetes Grid TKr(Tanzu Kubernetes 릴리스) 개체를 사용하여 Kubernetes 버전을 관리합니다. TKr은 TKr에 정의된 Kubernetes 버전과 호환되는 OS 이미지, 코어 Kubernetes 구성 요소 및 부트스트랩 패키지를 지정합니다. 기본 TKr 또는 기본 TKr이 아닌 tanzu cluster create
를 실행하면 Tanzu Kubernetes Grid TKr에 지정된 구성 요소 및 부트스트랩 패키지를 사용하여 클러스터를 생성합니다. 또한 클러스터 구성 파일을 읽고 클러스터를 생성할 때 사용할 호환되는 OS 이미지를 결정합니다.
지원되는 Kubernetes 버전의 전체 목록은 VMware Tanzu Kubernetes Grid 2.3 릴리스 정보의 VMware Tanzu Kubernetes Grid 2.3 릴리스 정보의 Tanzu Kubernetes Grid v2.2에서 지원되는 Kubernetes 버전을 참조하십시오.
사용 가능한 모든 Kubernetes 릴리스를 현재 호환성 및 업그레이드 상태와 함께 나열하려면 선택적 버전 일치 인수를 사용하여 tanzu kubernetes-release get
을 실행합니다. 예를 들면 다음과 같습니다.
tanzu kubernetes-release get
을 실행합니다.v1.24.17
와 일치하는 모든 릴리스를 나열하려면 tanzu kubernetes-release get v1.24.17
을 실행합니다.tanzu kubernetes-release get
NAME VERSION COMPATIBLE ACTIVE UPDATES AVAILABLE
v1.24.17---vmware.1-tkg.1 v1.24.17+vmware.1-tkg.1 True True
v1.25.13---vmware.1-tkg.1 v1.25.13+vmware.1-tkg.1 True True
v1.26.8---vmware.2-tkg.1 v1.26.8+vmware.1-tkg.1 True True
특정 워크로드 클러스터에 사용할 수 있는 TKr 버전을 검색하려면 클러스터의 전체 이름과 함께 tanzu cluster available-upgrades get
을 실행합니다. 예를 들면 다음과 같습니다.
tanzu cluster available-upgrades get my-cluster
TKr을 활성화하거나 비활성화할 수 있습니다. TKr을 활성화하려면 다음을 수행합니다.
tanzu kubernetes-release activate TKR-NAME
예:
tanzu kubernetes-release activate v1.25.13---vmware.1-tkg.1
TKr을 비활성화하려면 다음을 수행합니다.
tanzu kubernetes-release deactivate TKR-NAME
예:
tanzu kubernetes-release deactivate v1.25.13---vmware.1-tkg.1
각 Tanzu Kubernetes Grid 릴리스는 기본 버전의 Kubernetes를 제공합니다. Tanzu Kubernetes Grid v2.3의 기본 버전은 Kubernetes v1.26.8입니다.
업스트림 Kubernetes는 패치 또는 새 버전을 릴리스할 때 VMware 공용 레지스트리에 게시하고 Tanzu Kubernetes 릴리스 컨트롤러는 이를 관리 클러스터로 가져옵니다. 이를 통해 tanzu
CLI는 새 버전을 기반으로 클러스터를 생성할 수 있습니다.
vSphere 및 Azure에서는 기본값이 아닌 Kubernetes 버전을 실행하는 클러스터를 배포하려면 한 단계 더 나아가야 합니다.
vSphere: 적절한 기본 이미지 템플릿 OVA 파일을 vSphere 가져와 VM 템플릿으로 변환합니다. 기본 OVA 파일을 vSphere 가져오는 방법에 대한 자세한 내용은 기본 이미지 템플릿을 vSphere로 가져오기를 참조하십시오.
Azure: Azure CLI 명령을 실행하여 기본 OS 버전에 대한 라이센스를 수락합니다. 라이센스를 수락한 후에는 나중에 이 단계를 건너뛸 수 있습니다.
tanzu kubernetes-release get
명령의 출력에 나열된 대상 Kubernetes 버전을 Azure 이미지 SKU로 변환합니다.
v
를 k8s-
로 변경합니다..
을 dot
으로 변경합니다.+vmware.*
를 -ubuntu-2004
로 변경하여 Azure의 모든 Tanzu Kubernetes Grid VM의 기본 OS 버전인 Ubuntu v20.04를 지정합니다.k8s-1dot26dot8-ubuntu-2004
, k8s-1dot25dot13-ubuntu-2004
.az vm image terms accept
를 실행합니다. 예:
az vm image terms accept --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot26dot8-ubuntu-2004
AWS(Amazon Web Services): 어떠한 작업도 필요하지 않습니다. 지원되는 Kubernetes 버전을 포함하는 Amazon Linux 2 Amazon AMI(시스템 이미지)는 지원되는 모든 AWS 지역에서 모든 AWS 사용자가 공개적으로 사용할 수 있습니다. Tanzu Kubernetes Grid 지정한 Kubernetes 버전에 적합한 AMI를 자동으로 사용합니다.
기본이 아닌 Kubernetes 버전을 실행하는 워크로드 클러스터를 배포하려면 다음을 수행합니다.
계획 기반 클러스터를 배포하는 경우 환경 변수 ALLOW_LEGACY_CLUSTER
를 true
로 설정합니다.
export ALLOW_LEGACY_CLUSTER=true
클러스터를 배포하는 Kubernetes 패치 버전이 지원되는 Kubernetes 버전에 있는 부 버전의 지원되는 최신 패치보다 오래된 경우 tkg-system
네임스페이스에서 해당 TKr에 대해 ConfigMap
개체를 생성합니다.
이전 TKr을 나열하는 tkg-system
네임스페이스에 ConfigMap
개체 정의를 생성합니다.
apiVersion: v1
kind: ConfigMap
metadata:
namespace: tkg-system
name: TKR-CONFIG-NAME
labels:
run.tanzu.vmware.com/additional-compatible-tkrs: ""
data:
tkrVersions: |
- TKR-VERSON-1
- TKR-VERSON-2
여기서 TKR-CONFIG-NAME
은 모든 법적 개체 이름입니다. tkg-v2.3.1
및 TKR-VERSON-*
값은 tanzu kubernetes-release get
에 나열된 이전 TKr 버전입니다(예: v1.24.14--vmware.1-tkg
).
ConfigMap
개체를 생성합니다.
kubectl apply -f old-tkrs-config.yaml
사용 중인 버전의 Tanzu Kubernetes Grid 기본값이 아닌 Kubernetes 버전으로 워크로드 클러스터를 배포하려면 --tkr
옵션에서 Tanzu Kubernetes 릴리스를 지정합니다. 예를 들어 Kubernetes v1.25.13 클러스터를 배포하려면 다음을 실행합니다.
tanzu cluster create my-1-25-13-cluster --tkr v1.25.13---vmware.1-tkg
워크로드 클러스터를 생성하는 방법에 대한 자세한 내용은 워크로드 클러스터 생성을 참조하십시오.
OS 버전, Kubernetes 버전, 대상 인프라의 일반적인 조합을 위해 독립형 관리 클러스터가 있는 Tanzu Kubernetes Grid는 기본 시스템 이미지를 제공합니다. 필요에 따라 직접 구축한 이미지를 포함하여 사용자 지정 시스템 이미지를 지정할 수 있습니다.
아래 섹션에서는 대체 또는 사용자 지정 구축 시스템 이미지를 사용하여 클러스터를 배포하는 방법을 설명합니다.
클러스터 구성 파일에서 OS_NAME
, OS_VERSION
및 OS_ARCH
을 설정하여 기본 시스템 이미지(예: ubuntu
, 20.04
또는 photon
, 3
및 amd64
)를 지정합니다. 이러한 기본값은 VMware 배포하는 OS 이미지이지만 클러스터 노드에 사용할 고유한 대체 OS 이미지를 지정할 수도 있습니다.
기본 이미지 템플릿을 vSphere에 가져오기에 설명된 대로 이미지를 vSphere에 업로드합니다.
이미지가 VMware 배포된 기존 시스템 이미지와 동일한 OS 버전을 공유하는지 여부에 따라 다음 중 하나를 수행합니다.
OS 이름, 버전, 아키텍처가 동일한 대체 이미지를 VMware이 배포하는 기존 TKr 및 이미지로 지정하는 경우, 해당 OSImage
개체를 편집합니다. 예를 들면 다음과 같습니다.
kubectl edit OSImage v1.26.4---vmware.1-tkg.1-6c92aa1cbb96b644085e6229f41ef14d
그렇지 않으면 기존 OSImage
개체 정의를 템플릿으로 사용하여 새 OSImage
개체를 생성하고 적용합니다. metadata.name
및 spec.image.ref.version
값을 OVA 파일 이름으로 설정합니다.
OSImage
개체의 spec.image.ref
블록에서 식별자 필드와 값을 추가합니다. 예를 들어 VMware 배포하는 Ubuntu 20.04 이미지의 Kubernetes v1.26.4에 대한 대안을 사용하도록 설정하려면 다음을 수행합니다.
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: OSImage
metadata:
creationTimestamp: "2023-06-02T06:08:35Z"
generation: 2
labels:
image-type: ova
os-arch: amd64
os-name: ubuntu
os-type: linux
...
spec:
image:
ref:
MY-FIELD: MY-VALUE
version: v1.26.4---vmware.1-tkg.1-6c92aa1cbb96b644085e6229f41ef14d
type: ova
kubernetesVersion: v1.26.4+vmware.1
os:
arch: amd64
name: ubuntu
type: linux
version: "2004"
여기서 MY-FIELD
및 MY-VALUE
는 Cluster
개체 규격에 포함하도록 설정한 식별자 필드 및 값입니다.
MY-VALUE
는 0~63자여야 하며 비워 둘 수 있거나 영숫자로 시작하고 끝나야 하며 영숫자, 대시(-
), 밑줄(_
) 또는 점(.
)이 포함되어야 합니다.OSImage
개체의 metadata.labels
설정을 ova-MY-FIELD: MY-VALUE
패턴에 따라 복사합니다.클러스터에서 대체 시스템 이미지를 사용하려면 Cluster
개체를 편집하여 이미지를 사용할 클러스터 노드의 metadata.annotations
에 설정 ova-MY-FIELD=MY-VALUE
을 추가합니다.
topology.controlPlane
에서 metadata.annotations
을 편집합니다.topology.workers.machineDeployments
에서 metadata.annotations
을 편집합니다.예:
metadata:
annotations:
run.tanzu.vmware.com/resolve-os-image: image-type=ova,ova-my-field=my-value
클러스터 노드에 사용할 고유한 시스템 이미지를 빌드할 수 있습니다. 이렇게 하는 이유는 다음과 같습니다.
지침은 시스템 이미지 빌드 를 참조하십시오.