Se tiver problemas com a atualização do Google Distributed Cloud, as secções seguintes podem ajudar a resolver o problema. Para mais informações sobre as definições que podem ser atualizadas, consulte o artigo O que pode e não pode ser atualizado nos clusters.
Limite de tempo da atualização
O limite de tempo da atualização é calculado dinamicamente com base nos recursos a atualizar. No entanto, o cálculo nem sempre é preciso. Quando o tempo limite da atualização expira, são apresentados erros semelhantes aos seguintes:
No cluster de utilizadores:
Failed to update the cluster:...timed out waiting for the condition...No cluster de administração:
Failed to update the admin cluster:...timed out waiting for the condition...
Este tipo de erro de limite de tempo pode ser ignorado com segurança e pode tentar novamente o comando de atualização. Se repetir o comando e este expirar novamente com a mesma mensagem de erro, contacte o apoio técnico ao cliente da nuvem.
A atualização contém várias alterações
Os comandos gkectl update admin e gkectl update cluster não permitem
atualizar várias definições num único comando. Quando a configuração contém uma diferença com várias definições a serem alteradas e é devolvido um erro semelhante ao seguinte exemplo:
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
Este erro pode ocorrer por vários motivos, incluindo os seguintes:
- Um erro ou uma configuração incorreta.
 - Executou 
gkectl upgradeanteriormente com a diferença de configuração e esperava que as alterações fossem aplicadas.- O 
gkectl upgradenão aplica diferenças de configuração, exceto o aumento da versão. 
 - O 
 - Editou a configuração para outra atualização de funcionalidades anteriormente, mas esqueceu-se de executar o comando 
gkectl update. 
Se encontrar este comportamento, reveja a diferença na mensagem de erro e atualize as definições necessárias uma a uma com vários comandos gkectl update. Para ajudar a
identificar alterações, pode usar gkectl get-config para
gerar ficheiros de configuração a partir de um cluster 
e ver o estado e a configuração existentes.
Alterações não suportadas
Os comandos gkectl update cluster e gkectl update admin ignoram as alterações não suportadas e apresentam mensagens de erro semelhantes aos seguintes exemplos:
detected unsupported changes: (-current +desired)
    ...
-   AdvancedNetworking:       &true,
+   AdvancedNetworking:       &false,
    ...
, which will be ignored
Se encontrar este comportamento, reveja a diferença na mensagem de erro e realize as seguintes ações:
- Se a alteração não for intencional, edite o ficheiro YAML de configuração e atualize-o apenas com as alterações corretas e intencionais.
- No exemplo anterior, se não pretendia desativar 
AdvancedNetworking, definaadvancedNetworking: trueno ficheiro YAML de configuração. 
 - No exemplo anterior, se não pretendia desativar 
 - Se a alteração for intencional, o erro indica que a alteração não é suportada. Realize uma das seguintes ações:
- Recrie o cluster, se aplicável.
 - Contacte o Apoio técnico da Google.
 
 
A imagem do SO não existe
Os comandos gkectl update cluster e gkectl update admin podem falhar com
falhas na verificação prévia de voo semelhantes aos seguintes exemplos:OS Images
No cluster de utilizadores:
- Validation Category: OS Images - [FAILURE] User cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.No cluster de administração:
- Validation Category: OS Images - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.
Estes erros podem ocorrer se a imagem do SO tiver sido removida inesperadamente no seu ambiente do vCenter, por exemplo, por uma tarefa de limpeza periódica.
Para voltar a importar as imagens do SO, execute o comando gkectl prepare, da seguinte forma:
gkectl prepare \
    --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --skip-upload-container-images
Não existe espaço livre suficiente no arquivo de dados para novos conjuntos de nós
Quando adiciona novos pools de nós, o comando gkectl update cluster pode falhar com erros de verificação prévia de VSphere Datastore FreeSpace semelhantes ao seguinte exemplo:
  - [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
  FreeSpace, requires at least xxx  GB
Esta falha indica que o arquivo de dados não tem espaço livre suficiente para executar os novos conjuntos de nós. A utilização de uma das seguintes opções ajuda a disponibilizar espaço para que a operação seja bem-sucedida:
- Liberte espaço do arquivo de dados.
 - Configure um arquivo de dados 
nodePools[].vsphere.datastorediferente para o conjunto de nós. 
O que se segue?
Se precisar de assistência adicional, contacte o apoio ao cliente do Google Cloud.
Também pode consultar o artigo Receber apoio técnico para mais informações sobre recursos de apoio técnico, incluindo o seguinte:
- Requisitos para abrir um registo de apoio ao cliente.
 - Ferramentas para ajudar a resolver problemas, como registos e métricas.
 - Componentes suportados, versões e funcionalidades do Google Distributed Cloud para VMware (apenas software).