VMware용 Google Distributed Cloud 소프트웨어 전용의 클러스터 업그레이드를 계획하면 필요한 업그레이드 순서를 결정하고, 호환되는 관리 도구를 선택하고, 멀티 클러스터 환경에서 워크로드 중단을 최소화할 수 있습니다. 업그레이드 전 준비 체크리스트는 업그레이드 권장사항을 참조하세요.
버전, 주문, 도구가 업그레이드에 미치는 영향
클러스터를 업그레이드하는 순서, 사용하는 도구, 수행해야 하는 검사는 다음에 따라 크게 달라집니다.
- 시작 버전
- 업그레이드할 버전
- 고급 또는 고급이 아닌 클러스터에서 업그레이드하는지 여부
- 고급 클러스터 또는 고급이 아닌 클러스터로 업그레이드하는지 여부
- 사용자 클러스터에 Controlplane V2가 사용 설정되었는지 여부
시작하는 버전, 클러스터를 업그레이드하는 순서, 업데이트에 사용하는 도구, 클러스터 버전에 따라 수행할 수 있는 작업과 수행할 수 없는 작업이 크게 달라집니다.
클러스터가 고급인지 고급이 아닌지 확인
클러스터가 고급인지 고급이 아닌지 확인하려면 사용 중인 버전을 확인합니다.
- 클러스터에서 버전 1.30 이하를 사용하는 경우 고급 클러스터가 아닙니다.
- 클러스터에서 버전 1.33을 사용하고 고급 클러스터를 명시적으로 선택 해제하지 않은 경우 고급 클러스터입니다.
- 클러스터에서 버전 1.34 이상을 사용하는 경우 고급 클러스터입니다.
클러스터에서 버전 1.31 및 1.32를 사용하는 경우 kubectl를 사용하여 클러스터 커스텀 리소스를 확인하여 클러스터가 고급인지 여부를 확인합니다.
관리자 클러스터 kubeconfig에서 관리자 클러스터의
enableAdvancedCluster사양 필드를 확인합니다.kubectl get onpremadminclusters -A \ -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIGADMIN_CLUSTER_KUBECONFIG를 관리자 클러스터 kubeconfig 파일의 경로로 바꿉니다.관리자 클러스터 kubeconfig에서 사용자 클러스터의
enableAdvancedCluster사양 필드를 확인합니다.kubectl get onpremuserclusters -A \ -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
고급 클러스터가 사용 설정된 경우 출력은 다음과 비슷합니다.
NAME VERSION ADVANCED
gke-admin-abc12 1.32.0-gke.1085 true
ADVANCED가 true이면 고급 클러스터입니다. 버전 1.32 이하에서는 ADVANCED이 <none>로 표시될 수 있습니다.
상위 수준 업그레이드 프로세스
다음 섹션에서는 업그레이드하는 클러스터 유형에 따라 클러스터를 업그레이드할 때의 전반적인 업그레이드 프로세스를 설명합니다.
업그레이드를 시작하기 전에 버전이 업그레이드에 미치는 영향에 대한 자세한 정보를 검토하세요. 버전별 종속 항목의 자세한 목록과 버전 건너뛰기 및 버전 편향 규칙에 대한 자세한 내용은 업그레이드 버전 규칙을 참조하세요.
고급 클러스터와 고급이 아닌 클러스터
클러스터에는 고급 클러스터와 비고급 클러스터의 두 가지 유형이 있습니다. 버전 1.33 이상에서 생성된 모든 클러스터는 고급 클러스터입니다. 고급 클러스터는 유연성과 확장성을 높여주는 개선된 아키텍처를 사용합니다.
클러스터를 고급 클러스터로 업그레이드한 후에는 항상 고급 클러스터를 사용하고 고급 클러스터 업그레이드 프로세스를 사용합니다. 클러스터가 고급인지 고급이 아닌지는 1.33 이전 버전에서 업그레이드할 때만 중요합니다.
고급 클러스터는 베어메탈용 Google Distributed Cloud 소프트웨어 전용을 VMware용 Google Distributed Cloud 소프트웨어 전용의 기본 프레임워크로 사용하여 통합된 Google Distributed Cloud 아키텍처를 사용합니다. 노드 라벨, API 리소스, 시스템 태그에서 '베어메탈'에 대한 참조가 표시될 수 있습니다.
고급 클러스터 기능은 VMware용 Google Distributed Cloud 소프트웨어 전용을 나머지 Google Distributed Cloud 제품과 더 잘 맞추는 클러스터 아키텍처를 구현합니다. 고급 클러스터가 사용 설정된 클러스터에는 다른 Google Distributed Cloud 클러스터와 공유되는 플랫폼이 있습니다. 이 공유 플랫폼은 동일한 컨트롤러와 에이전트를 사용하므로 안정성이 향상되고 Google에서 더 나은 지원을 제공할 수 있습니다. 또한 고급 클러스터가 사용 설정된 경우 클러스터 작업의 성능이 향상됩니다.
새 아키텍처는 다른 모든 Google Distributed Cloud 제품과 일관된 환경과 구현을 제공합니다. 고급 클러스터와 고급이 아닌 클러스터에서 사용할 수 있는 기능에 대한 자세한 내용은 고급 클러스터 기능 지원을 참조하세요.
고급 클러스터에서 고급 클러스터로 업그레이드(현재 버전, 1.31부터)
버전 1.32 이상에서는 한 고급 클러스터에서 다른 고급 클러스터로 업그레이드할 때 패치 버전 업그레이드와 순차적 마이너 버전 업그레이드를 모두 수행할 수 있습니다. 버전 1.31 프리뷰에서는 버전 1.31 내에서 패치 버전 업그레이드만 수행할 수 있습니다.
이 업그레이드를 수행하려면 gkectl CLI, Google Cloud CLI, Google Cloud 콘솔 또는 Terraform을 사용할 수 있습니다(버전에 따라 다름).
고급 클러스터에서 고급 클러스터로 업그레이드하려면 다음 순서를 따라야 합니다.
- 해당하는 경우 관리자 워크스테이션을 업그레이드합니다.
gkectl diagnose cluster를 사용하여 관리자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 관리자 클러스터를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했고 사용자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 사용자 클러스터를 한 번에 하나씩 업그레이드합니다. 사용자 클러스터 컨트롤 플레인과 노드 풀을 함께 또는 별도로 업그레이드할 수 있습니다. 자세한 내용은 노드 풀 업그레이드를 참조하세요.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했는지 확인합니다.
사용자 클러스터의 모든 노드 풀이 사용자 클러스터의 컨트롤 플레인과 동일한 버전이 되면 사용자 클러스터가 업그레이드되고 업그레이드가 완료됩니다.
사용자 클러스터의 컨트롤 플레인은 사용자 클러스터 자체에서 실행되며 사용자 클러스터 업그레이드 중에 업그레이드됩니다. 관리자 클러스터 컨트롤 플레인 노드는 관리자 클러스터 업그레이드 중에 업그레이드됩니다.
gkectl diagnose cluster를 사용하여 클러스터를 진단하는 방법에 대한 자세한 내용은 클러스터 진단을 참조하세요.
고급 클러스터에서 고급 클러스터로 업그레이드를 수행하는 방법에 대한 자세한 내용은 클러스터 업그레이드를 참조하세요.
고급이 아닌 클러스터에서 고급 클러스터로 업그레이드
고급이 아닌 클러스터에서 고급 클러스터로의 업그레이드는 버전 1.31, 1.32, 1.33, 1.34에서만 수행됩니다. 이러한 버전에서 고급이 아닌 클러스터에서 고급 클러스터로 업그레이드하는 방법에 대한 자세한 내용은 업그레이드 버전 규칙을 참조하세요.
고급이 아닌 클러스터에서 고급 클러스터로 업그레이드하려면 대상 버전과 동일한 버전의 gkectl를 사용해야 하며(예: 버전 1.32.0으로 업그레이드하는 경우 gkectl 버전 1.32.0을 사용해야 함) 다음 순서를 따르세요.
- 관리자 워크스테이션과 아티팩트를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 관리자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 관리자 클러스터를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했고 사용자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 사용자 클러스터를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했는지 확인합니다.
gkectl diagnose cluster를 사용하여 클러스터를 진단하는 방법에 대한 자세한 내용은 클러스터 진단을 참조하세요.
고급이 아닌 클러스터에서 고급 클러스터로 업그레이드를 수행하는 방법에 대한 자세한 내용은 고급이 아닌 클러스터에서 고급 클러스터로 업데이트 또는 업그레이드를 참조하세요.
고급이 아닌 클러스터에서 고급이 아닌 클러스터로 업그레이드
버전 1.33 이하의 경우 고급이 아닌 클러스터에서 다른 고급이 아닌 클러스터로 업그레이드할 수 있습니다. 고급이 아닌 클러스터에서 다른 고급이 아닌 클러스터로 업그레이드할 수 있는 버전에 대한 자세한 내용은 업그레이드 버전 규칙을 참조하세요.
고급이 아닌 클러스터를 업그레이드하는 순서는 대상 버전에 따라 다릅니다.
- 대상 버전 1.31, 1.32, 1.33의 경우 사용자 클러스터를 업그레이드하기 전에 관리자 클러스터를 업그레이드해야 합니다.
- 대상 버전 1.30 이하의 경우 관리자 클러스터를 업그레이드하기 전에 모든 사용자 클러스터를 업그레이드해야 합니다.
버전 1.31, 1.32 또는 1.33으로 업그레이드
클러스터를 고급이 아닌 상태로 유지하면서 버전 1.31, 1.32 또는 1.33으로 업그레이드하려면 다음 순서를 따라야 합니다.
- 관리자 워크스테이션을 업그레이드하고 번들 아티팩트를 준비합니다.
gkectl diagnose cluster를 사용하여 관리자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 관리자 클러스터를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했고 사용자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 사용자 클러스터를 한 번에 하나씩 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했는지 확인합니다.
버전 1.30 이하로 업그레이드
버전 1.30 이하로 업그레이드하려면 다음 순서를 따라야 합니다.
- 관리자 워크스테이션을 업그레이드하고 번들 아티팩트를 준비합니다.
gkectl diagnose cluster를 사용하여 사용자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 모든 사용자 클러스터를 한 번에 하나씩 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했고 관리자 클러스터가 정상인지 확인합니다. 문제를 해결합니다.- 관리자 클러스터를 업그레이드합니다.
gkectl diagnose cluster를 사용하여 업그레이드가 성공했는지 확인합니다.
gkectl diagnose cluster를 사용하여 클러스터를 진단하는 방법에 대한 자세한 내용은 클러스터 진단을 참조하세요.
고급이 아닌 클러스터에서 고급이 아닌 클러스터로 업그레이드를 수행하는 방법에 대한 자세한 내용은 고급이 아닌 클러스터 업그레이드 및 유지보수를 참조하세요.
클러스터 업그레이드
관리자 클러스터는 항상 한 번에 하나씩 업그레이드합니다.
사용자 클러스터를 업그레이드할 때 전체 사용자 클러스터(클러스터의 컨트롤 플레인과 모든 노드 풀을 동시에)를 업그레이드하거나 사용자 클러스터의 컨트롤 플레인을 업그레이드하고 노드 풀을 현재 버전으로 둘 수 있습니다. 사용하는 접근 방식은 다음과 같은 여러 가지 요인에 따라 다릅니다.
- 클러스터가 위치한 환경(프로덕션 또는 비프로덕션)
- 유지보수 기간의 길이
- 사용자 클러스터의 버전
예를 들어 개발 환경에서는 프로세스를 단순하게 유지하여 사용자 클러스터의 컨트롤 플레인과 모든 노드 풀을 한꺼번에 업그레이드하는 게 편할 수 있습니다. 하지만 유지보수 기간이 짧은 프로덕션 환경에서는 컨트롤 플레인 업그레이드가 시간이 오래 걸리지 않으므로 컨트롤 플레인 업그레이드만 진행할 수 있습니다. 또한 고가용성(HA) 컨트롤 플레인이라면 컨트롤 플레인 업그레이드는 사용자 워크로드에 지장을 주지 않습니다.
클러스터를 업그레이드할 도구 선택
사용하는 도구는 업그레이드하려는 방법과 대상에 따라 다릅니다.
관리자 클러스터의 경우 gkectl을 사용하여 업그레이드해야 합니다.
사용자 클러스터의 경우 다음 도구 중 하나를 사용하여 클러스터를 업그레이드할 수 있습니다.
gkectl명령줄 도구(고급이 아닌 클러스터에서 고급 클러스터로 업그레이드하는 데 필요)- Terraform(Terraform을 사용하여 사용자 클러스터를 만든 경우)
- Google Cloud 콘솔
- Google Cloud CLI
다음 표에는 각 사용 사례를 지원하는 도구가 나와 있습니다.
| 업그레이드 사용 사례 | gkectl |
gcloud CLI | 콘솔 | Terraform | 참고사항 및 제한사항 |
|---|---|---|---|---|---|
| 관리자 클러스터 업그레이드(모든 경로) | 예 | 아니요 | 아니요 | 아니요 | 관리자 클러스터에는 항상 gkectl가 필요합니다. |
| 고급이 아닌 클러스터를 고급 클러스터로 업그레이드(전환) | 예 | 아니요 | 아니요 | 아니요 | gkectl 버전이 대상 버전과 일치해야 합니다. 컨트롤 플레인(CP)과 노드 풀 간에 버전 차이가 허용되지 않습니다. |
| 고급이 아닌 클러스터를 고급이 아닌 클러스터로 업그레이드(기존) | 예 | 아니요 | 아니요 | 아니요 | 1.33 이하 버전에서만 사용 가능(선택 해제 경로), API 클라이언트는 지원되지 않음 |
| 사용자 클러스터 업그레이드: 고급에서 고급으로 | 예 | 예 | 예 | 예1 | 표준 버전 편향 규칙이 적용됩니다. |
| 전체 사용자 클러스터 업그레이드(CP 및 노드 풀 함께) | 예 | 예 | 예 | 예1 | 고급 사용자 클러스터의 모든 도구에서 지원됩니다. |
| 사용자 클러스터 컨트롤 플레인 별도 업그레이드(CP만 해당) | 예 | 예 | 아니요 | 예1 | 콘솔은 컨트롤 플레인만의 업그레이드는 지원하지 않습니다. |
| CP 업그레이드 후 노드 풀 선택적 업그레이드 | 예 | 예 | 아니요 | 예1 | 콘솔은 개별 노드 풀 업그레이드를 지원하지 않습니다. |
| CP와 하나 이상의 노드 풀을 동시에 업그레이드 | 예 | 아니요 | 아니요 | 아니요 | gkectl만 부분 동시 CP + 노드 풀 버전 업그레이드를 지원합니다. |
1 Terraform 요구사항: 사용자 클러스터가 원래 Terraform을 사용하여 생성 및 관리된 경우에만 사용자 클러스터 업그레이드에 Terraform을 사용할 수 있습니다.
콘솔 또는 gcloud CLI를 사용하여 gkectl로 만든 클러스터에 대한 정보를 가져오려면 GKE On-Prem API에 클러스터를 등록합니다.
다음 단계
업그레이드 버전 규칙을 검토하여 버전이 업그레이드에 미치는 영향을 이해하고 현재 버전과 업그레이드할 버전에 대한 버전 규칙을 확인하세요.
업그레이드 권장사항을 검토하고 클러스터 업그레이드 계획 세우기