클러스터 노드에서 사용하는 스토리지 클래스를 변경하여 TKG 클러스터를 업데이트할 수 있습니다.
kubectl edit
명령을 사용하여 클러스터 규격에서
storageClass
매개 변수의 값을 편집하면 TKG 클러스터의 롤링 업데이트를 시작할 수 있습니다.
참고:
kubectl apply
명령을 사용하여 배포된 TKG 클러스터를 업데이트할 수는 없습니다.
사전 요구 사항
이 작업을 수행하려면 kubectl edit 명령을 사용해야 합니다. 이 명령은 KUBE_EDITOR 또는 EDITOR 환경 변수로 정의된 클러스터 매니페스트를 텍스트 편집기에서 엽니다. 파일을 저장하면 클러스터가 변경 사항으로 업데이트됩니다. kubectl용 편집기를 구성하려면 Kubectl용 텍스트 편집기 구성 항목을 참조하십시오.
프로시저
- 감독자로 인증합니다.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- 대상 워크로드 클러스터가 프로비저닝된 vSphere 네임스페이스로 컨텍스트를 전환합니다.
kubectl config use-context SUPERVISOR-NAMESPACE
- 사용 가능한 스토리지 클래스를 확인하고 무엇을 사용할지 결정하려면 다음 명령을 실행합니다.
kubectl describe tanzukubernetescluster CLUSTER-NAME
- 다음 명령을 실행하여 클러스터 매니페스트를 편집합니다.
v1alpha3 클러스터:
kubectl edit tanzukubernetescluster/CLUSTER-NAME
v1beta1 클러스터:
kubectl edit cluster/CLUSTER-NAME
-
storageClass
값을 변경하여 매니페스트를 편집합니다.
예를 들어 v1alpaha3 클러스터의 경우 제어부 및 작업자 노드에 대한
silver-storage-class
클래스의 클러스터 매니페스트를:
spec:
topology:
controlPlane:
...
storageClass: silver-storage-class
workers:
...
storageClass: silver-storage-class
제어부 및 작업자 노드에 대한
gold-storage-class
클래스로 변경합니다.
spec:
topology:
controlPlane:
...
storageClass: gold-storage-class
workers:
...
storageClass: gold-storage-class
마찬가지로 v1beta1 클러스터를 프로비저닝한 경우 클러스터 규격의
variables.storageclass
값을 스토리지 클래스의 이름으로 업데이트합니다.
- 변경 내용을 매니페스트 파일에 적용합니다.
파일을 저장하면 kubectl이 변경 내용을 클러스터에 적용합니다. 백그라운드에서
Tanzu Kubernetes Grid는 새 노드 VM을 프로비저닝하고 이전 노드를 스핀 다운합니다.
- kubectl이 매니페스트 편집이 기록되었다고 보고하는지 확인합니다.
kubectl edit tanzukubernetescluster/tkgs-cluster-1
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
참고: 오류가 발생하거나 kubectl이 클러스터 매니페스트가 편집되었다고 보고하지 않는 경우에는 KUBE_EDITOR 환경 변수를 사용하여 기본 텍스트 편집기를 올바르게 구성했는지 확인합니다.
Kubectl용 텍스트 편집기 구성의 내용을 참조하십시오.
- 클러스터가 업데이트되었는지 확인합니다.
v1alpha3 클러스터:
kubectl get tanzukubernetescluster
v1beta1 클러스터:
kubectl get cluster