Google Distributed Cloud 업데이트 문제 해결

Google Distributed Cloud를 업데이트하는 데 문제가 있는 경우 다음 섹션이 문제를 해결하는 데 도움이 될 수 있습니다. 업데이트할 수 있는 설정에 대한 자세한 내용은 클러스터에서 업데이트할 수 있는 항목과 업데이트할 수 없는 항목을 참조하세요.

업데이트 제한 시간

업데이트 제한 시간은 업데이트할 리소스를 기준으로 동적으로 계산됩니다. 하지만 계산이 항상 정확한 것은 아닙니다. 업데이트 시간이 초과되면 다음과 비슷한 오류가 표시됩니다.

  • 사용자 클러스터에서는 다음과 같습니다.

    Failed to update the cluster:...timed out waiting for the condition...
    
  • 관리자 클러스터에서는 다음과 같습니다.

    Failed to update the admin cluster:...timed out waiting for the condition...
    

이러한 종류의 제한 시간 오류는 무시해도 안전하며 업데이트 명령어를 재시도할 수 있습니다. 명령어를 재시도했지만 동일한 오류 메시지와 함께 시간이 초과되면 Cloud Customer Care에 문의하세요.

업데이트에 여러 변경사항 포함

gkectl update admin 및 gkectl update cluster 명령어는 단일 명령어로 여러 설정을 업데이트하는 것을 허용하지 않습니다. 구성에 여러 설정이 변경되는 diff가 있고 다음 예시와 비슷한 오류가 반환되는 경우:

Update summary for cluster X:
    antiAffinityGroups: enabled to be set to true from false          &config.AAGSpec{
        -   Enabled: false,
        +   Enabled: true,
          }
    user master cpu to be set to 5 from 4          config.NodePoolProps{
            Role:        "master",
            MachineType: "standard-master",
        -   CPUs:        4,
        +   CPUs:        5,
            MemoryMB:    8192,
            Replicas:    3,
            ... // 2 identical fields
            Labels:         nil,
            NodeTaints:     nil,
        -   Vsphere:        nil,
        &config.NodePoolVsphereSpec{Datastore: "lifecycle-workloads1-datastore1"},
        +   Vsphere:        nil,
            BootDiskSizeGB: nil,
            OSImageType:    "",
            ... // 5 identical fields
          }

Exit with error:
Failed to update the cluster: the update contains multiple changes. Please
update only one feature at a time

이 오류는 다음과 같은 다양한 이유로 발생할 수 있습니다.

  • 실수 또는 잘못된 구성
  • 이전에 구성 diff를 사용하여 gkectl upgrade를 실행했으며 변경사항이 적용될 것으로 예상됩니다.
    • gkectl upgrade는 버전 덤프를 제외한 어떠한 구성 차이도 적용하지 않습니다.
  • 이전에 다른 기능 업데이트에 대한 구성을 수정했지만 gkectl update 명령어를 실행하는 것을 잊었습니다.

이 동작이 발생하면 오류 메시지의 diff를 검토하고 여러 gkectl update 명령어로 필요한 설정을 하나씩 업데이트합니다. 변경사항을 식별하려면 gkectl get-config를 사용하여 클러스터에서 구성 파일을 생성하고 기존 상태 및 구성을 확인하면 됩니다.

지원되지 않는 변경사항

gkectl update cluster 및 gkectl update admin 명령어는 지원되지 않는 변경사항을 무시하고 다음 예시와 유사한 오류 메시지를 표시합니다.

detected unsupported changes: (-current +desired)
    ...
-   AdvancedNetworking:       &true,
+   AdvancedNetworking:       &false,
    ...
, which will be ignored

이 동작이 발생하면 오류 메시지의 diff를 검토하고 다음 작업을 수행합니다.

  • 의도치 않게 변경되었으면 구성 YAML 파일을 수정하고 의도된 올바른 변경사항만 업데이트합니다.
    • 앞의 예시에서 AdvancedNetworking을 사용 중지하지 않으려는 경우 구성 YAML 파일에서 advancedNetworking: true를 설정합니다.
  • 의도된 변경일 경우 변경이 지원되지 않는다는 오류가 표시됩니다. 다음 작업 중 하나를 수행합니다.
    • 해당하는 경우 클러스터를 다시 만듭니다.
    • Google 지원팀에 문의하세요.

OS 이미지가 없음

gkectl update cluster 및 gkectl update admin 명령어는 다음 예시와 비슷한 OS Images 실행 전 확인 실패와 함께 실패할 수 있습니다.

  • 사용자 클러스터에서는 다음과 같습니다.

    - Validation Category: OS Images
        - [FAILURE] User cluster OS images exist: os images  [xxxx] don't exist,
        please run `gkectl prepare` to upload os images.
    
  • 관리자 클러스터에서는 다음과 같습니다.

    - Validation Category: OS Images
        - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist,
        please run `gkectl prepare` to upload os images.
    

이러한 오류는 정기적인 정리 작업과 같이 vCenter 환경에서 예기치 않게 OS 이미지가 삭제된 경우에 발생할 수 있습니다.

가져오기 OS 이미지를 다시 가져오려면 다음과 같이 gkectl prepare 명령어를 실행합니다.

gkectl prepare \
    --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --skip-upload-container-images

새 노드 풀을 위한 데이터 스토어 여유 공간 부족

새 노드 풀을 추가할 때 다음 예시와 유사한 VSphere Datastore FreeSpace 프리플라이트 검사 오류와 함께 gkectl update cluster 명령어가 실패할 수 있습니다.

  - [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
  FreeSpace, requires at least xxx  GB

이 실패는 데이터 스토어에 새 노드 풀을 실행하기에 충분한 여유 공간이 없음을 나타냅니다. 다음 옵션 중 하나를 사용하면 작업이 성공할 수 있는 공간을 제공하는 데 도움이 됩니다.

  • 데이터 스토어에서 공간을 확보합니다.
  • 노드 풀에 다른 nodePools[].vsphere.datastore 데이터 스토어를 구성합니다.

다음 단계

추가 지원이 필요하면 Cloud Customer Care에 연락합니다.

다음을 비롯한 지원 리소스에 관한 자세한 내용은 지원 받기를 참조하세요.

  • 지원 케이스를 여는 요구사항
  • 로그 및 측정항목과 같이 문제를 해결하는 데 도움이 되는 도구
  • VMware용 Google Distributed Cloud(소프트웨어 전용)의 지원되는 구성요소, 버전, 기능