Esta página apresenta uma lista de problemas conhecidos do GKE. Esta página destina-se a administradores e arquitetos que gerem o ciclo de vida da infraestrutura tecnológica subjacente e respondem a alertas e páginas quando os objetivos de nível de serviço (SLOs) não são cumpridos ou as aplicações falham.
Esta página apresenta uma lista de problemas conhecidos para todas as versões suportadas e para as duas versões secundárias que precedem imediatamente a versão mais antiga no suporte alargado. Quando uma versão atinge o fim do apoio técnico alargado, todos os problemas N-2 são removidos. Por exemplo, quando a versão 1.30 atinge o fim do apoio técnico alargado, os problemas conhecidos específicos das versões 1.28 e anteriores são removidos.
Se fizer parte do Google Developer Program, guarde esta página para receber notificações quando for publicada uma nota de lançamento relacionada com esta página. Para saber mais, consulte Páginas guardadas.
Para filtrar os problemas conhecidos por uma versão ou categoria do produto, selecione os filtros nos seguintes menus pendentes.
Selecione a sua versão do GKE:
Selecione a categoria do problema:
Em alternativa, pesquise o seu problema:
Categoria | Versões identificadas | Versões corrigidas | Problema e solução alternativa |
---|---|---|---|
Operação | 1.33 versões anteriores à 1.33.4-gke.1036000 | 1.33.4-gke.1036000 e posteriores |
Nível de desempenho incorreto para instâncias Lustre aprovisionadas dinamicamenteQuando aprovisiona dinamicamente uma instância do Lustre, a criação da instância falha com um erro Solução alternativa: Atualize o cluster do GKE para a versão 1.33.4-gke.1036000 ou posterior. Se estiver a usar o canal estável, pode ainda não estar disponível uma versão mais recente. Neste caso, pode selecionar manualmente uma versão dos canais Regular ou Rápido que inclua a correção. |
Operação |
|
1.33.3-gke.1266000 e posteriores |
Erro de entrada/saída ao mudar o nome ou mover ficheiros com o controlador CSI do FUSE do Cloud StorageQuando usar uma versão afetada do controlador CSI do FUSE do Cloud Storage, a mudança do nome ou a movimentação de ficheiros em contentores do Cloud Storage pode falhar com um erro de E/S. Solução alternativa: Adicione temporariamente uma definição de imagem sidecar específica ao manifesto do pod. Na secção # Add the following block to use the fixed sidecar image - name: gke-gcsfuse-sidecar image: gcr.io/gke-release/gcs-fuse-csi-driver-sidecar-mounter:v1.8.9-gke.2 Para mais informações, consulte o manifesto do pod em Configure uma imagem privada para o contentor sidecar. Depois de atualizar o cluster para uma versão fixa do GKE ou posterior, tem de remover todo o bloco |
Registo e monitorização | Todas as versões | A determinar |
Condição de corrida em DaemonSets do
|
Atualizações | 1,33 | 1.33.2-gke.1043000 |
Limite de ficheiros abertos reduzido com o containerd 2.0Para os conjuntos de nós que executam a versão 1.33 do GKE, que usa o containerd 2.0, o limite flexível predefinido para ficheiros abertos ( Esta é uma alteração no próprio containerd (consulte o containerd PR #8924), em que As cargas de trabalho que esperam um limite flexível predefinido mais elevado (por exemplo, as que dependem implicitamente do predefinido mais elevado anterior) podem sofrer falhas, como erros Solução: Atualize de uma versão de patch 1.33 anterior para a versão 1.33.2-gke.1043000 ou posterior. Solução alternativa: Aumente o limite de ficheiros abertos para as suas cargas de trabalho através de um dos seguintes métodos:
|
Atualizações | 1.31.5-gke.1169000, 1.32.1-gke.1376000 | 1.31.7-gke.1164000, 1.32.3-gke.1512000 |
Invalid CRD status.storedVersions for managed CRDsAlguns CRDs geridos pelo GKE podem ter um campo Este problema afeta clusters que se enquadram nas seguintes situações:
Solução alternativa: A solução alternativa recomendada é atrasar as atualizações do cluster até o problema ser resolvido. Em alternativa, se souber que o cluster contém versões não suportadas de objetos CRD, pode adicionar estas versões ao campo |
Funcionamento, registo e monitorização | 1.32.2-gke.1652000, 1.31.6-gke.1221000, 1.30.10-gke.1227000 |
|
Métricas em falta ou o redimensionador automático de cargas de trabalho não está a ajustar a escalaPode observar lacunas nos dados de métricas nas versões afetadas depois de o tamanho do cluster aumentar mais de cinco nós. Este problema também pode afetar as operações de dimensionamento automático. Este problema afeta apenas os clusters atualizados para as versões afetadas. Os clusters criados recentemente devem funcionar conforme esperado. Solução alternativa: Se for afetado, pode reverter uma versão de patch ou atualizar para as versões corrigidas mais recentes. |
Operação |
Limites de tamanho e anexos do Google Cloud HyperdiskNormalmente, um pod que não pode ser agendado com êxito devido aos limites de associação de volume de um nó aciona o aprovisionamento automático de um novo nó. Quando as cargas de trabalho que usam um produto Hyperdisk são agendadas para um nó que executa uma VM C3, o aprovisionamento automático de nós não ocorre e o pod é agendado para o nó já cheio. A carga de trabalho está agendada no nó, apesar da falta de uma ligação de disco disponível. A carga de trabalho também não é iniciada devido a um erro semelhante ao seguinte: AttachVolume.Attach failed for volume "[VOLUME NAME]" : rpc error: code = InvalidArgument desc = Failed to Attach: failed when waiting for zonal op: rpc error: code = InvalidArgument desc = operation operation-[OPERATION NUMBERS] failed (UNSUPPORTED_OPERATION): Maximum hyperdisk-balanced disks count should be less than or equal to [16], Requested : [17] O problema está presente em todos os produtos Hyperdisk em máquinas C3. Os limites de associação do Hyperdisk variam consoante o número de vCPUs da VM e o produto Hyperdisk. Para mais informações, consulte os limites de desempenho do Hyperdisk. Solução alternativa: Os produtos Hyperdisk acionam o aprovisionamento automático noutros formatos de VMs. Recomendamos um formato que suporte apenas o Hyperdisk. |
||
Operação | 1.32.3-gke.1927000, 1.32.3-gke.1785000, 1.32.3-gke.1717000, 1.32.3-gke.1440000, 1.32.3-gke.1170000, 1.32.3-gke.1250000, 1.32.3-gke.1671000, 1.32.3-gke.1596000, 1.32.3-gke.1298000 |
O gke-metadata-server é OOMKilled em nós de TPU/GPUNos nós de TPU do GKE (por exemplo, Solução alternativa: Se observar eventos |
|
Operação |
|
|
Os redimensionamentos de volumes podem ficar bloqueados devido ao estado NodePendingResize pendente em PVCs.Os clusters na versão 1.32 que tenham nós nas versões 1.31 ou anteriores não conseguem atualizar o estado PersistentVolumeClaim durante a alteração do tamanho. Este estado incorreto impede o início de operações de redimensionamento subsequentes, o que impede efetivamente mais redimensionamentos. Um PVC neste estado tem um campo Se um PVC foi criado enquanto o cluster estava numa versão afetada, pode ver este problema persistir depois de o cluster ser atualizado para uma versão corrigida conhecida. Neste cenário, o seu PVC tem de ser corrigido para remover o campo Solução alternativa: Os PVCs bloqueados devido ao estado pendente podem ser corrigidos para remover esse estado. Pode usar um comando de patch como o seguinte para remover o estado pendente: kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResourceStatuses":null}}' kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResources":null}}' |
Operação |
|
|
O controlador PDCSI pode registar dados em excessoOs clusters do GKE em versões específicas do 1.32 podem emitir mensagens de registo excessivas do controlador PDCSI. Este registo excessivo consumiria a quota da API Cloud Logging Write. Solução alternativa: Pode reduzir este registo excessivo adicionando um filtro de exclusão. Para excluir as mensagens de registo da ingestão no Cloud Logging, use a seguinte consulta: resource.type="k8s_container" resource.labels.container_name="gce-pd-driver" (sourceLocation.file="cache.go" OR "Cannot process volume group") |
Operações |
|
|
Os pods que tentam montar volumes persistentes NFS em nós do COS que tinham anteriormente uma montagem de leitura (RO) só são montados no modo ROPara a versão 1.27 e posteriores do GKE, os volumes NFS que usam o controlador CSI interno do Kubernetes só podem montar volumes persistentes no modo RO após uma montagem RO anterior no mesmo nó. Solução alternativa: Reverter os conjuntos de nós para uma versão anterior às versões afetadas |
Operações |
|
|
Os pods que tentam montar volumes persistentes NFS em nós do Ubuntu não podem ser executados.Para a versão 1.32 e posteriores do GKE, os volumes NFS que usam o controlador CSI integrado do Kubernetes não vão conseguir montar volumes persistentes em nós do Ubuntu. Quando isto acontece, pode ver as seguintes mensagens de erro: "MountVolume.SetUp failed for volume 'nfs-storage' : mount failed: exit status 1" Output: Mount failed: mount failed: exit status 127 "Output: chroot: failed to run command 'mount': No such file or directory failed to run command mount on Ubuntu nodes" Solução alternativa: Altere os node pools para a versão 1.31. |
Operação | >= 1.28.15-gke.1436000, < 1.28.15-gke.1668000, >= 1.29.12-gke.1040000, < 1.29.13-gke.1028000, >= 1.30.8-gke.1053000, < 1.30.8-gke.1287000, >= 1.31.4-gke.1057000, < 1.31.6-gke.1020000, >= 1.32.0-gke.1281000, < 1.32.1-gke.1302000 |
|
Os pods que usam chamadas de sistema relacionadas com io_uring podem ficar presos no estado Terminating
Os pods que usam chamadas de sistema relacionadas com io_uring podem entrar no estado D (suspensão do disco), também denominado TASK_UNINTERRUPTIBLE, devido a um erro no kernel do Linux. Os processos no estado D não podem ser ativados por sinais, incluindo
Quando um Pod é afetado por este problema conhecido, os respetivos contentores podem não terminar normalmente. Nos registos do containerd, pode observar mensagens repetidas semelhantes às seguintes:
ou
Estes sintomas indicam processos no contentor que estão bloqueados num estado de suspensão ininterrupto (D-state), o que impede a terminação adequada do pod.
As cargas de trabalho que usam o io_uring diretamente ou que o usam indiretamente através de um tempo de execução de linguagem, como o NodeJS, podem ser afetadas por este problema conhecido. As cargas de trabalho afetadas têm um processo no estado D (suspensão do disco) no ficheiro Solução alternativa: Atualize os nós do cluster para uma versão corrigida ou posterior. |
Operação | 1,28, 1,29, 1,30, 1,31 |
|
As cargas de trabalho que usam o streaming de imagens falham com erros de autenticaçãoUm erro na funcionalidade de streaming de imagens pode fazer com que as cargas de trabalho falhem quando um conjunto de condições específicas é cumprido enquanto o contentor lê ficheiros. As mensagens de erro relacionadas com falhas de autenticação podem ser visíveis no registo do gcfsd.
Para verificar se é afetado, pesquise nos registos com esta consulta de pesquisa:
A presença destes erros indica que os nós são afetados. Se for afetado por este problema, pode atualizar os seus conjuntos de nós para uma versão corrigida do GKE. |
Operação |
|
|
Aumento das taxas de despejo de pods nas versões 1.30 e 1.31 do GKE
Algumas versões do GKE 1.30 e GKE 1.31 que usam o COS 113 e o COS 117, respetivamente, têm kernels criados
com a opção
A opção de configuração Pode nem sempre ver uma taxa de remoção de pods invulgar porque este problema depende do padrão de utilização de memória da carga de trabalho. Existe um risco maior de o kubelet desalojar pods para cargas de trabalho que não tenham definido um limite de memória no campo resources. Isto deve-se ao facto de as cargas de trabalho poderem pedir mais memória do que a que o kubelet comunica como disponível. Se vir uma utilização de memória mais elevada de uma aplicação após a atualização para as versões do GKE mencionadas sem outras alterações, pode ser afetado pela opção do kernel.
Para verificar se existem taxas de despejo de pods invulgares, analise as seguintes métricas com o
Explorador de métricas:
Pode usar as seguintes consultas PromQL. Substitua os valores de
max by (pod_name)(max_over_time(kubernetes_io:container_memory_used_bytes{monitored_resource="k8s_container",memory_type="non-evictable",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
sum by (pod_name)(avg_over_time(kubernetes_io:container_memory_request_bytes{monitored_resource="k8s_container",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
Se vir picos invulgares na utilização de memória que ultrapassam a memória pedida, a carga de trabalho pode estar a ser removida com mais frequência. AlternativaSe não conseguir atualizar para as versões corrigidas e estiver a executar num ambiente do GKE onde pode implementar pods privilegiados, pode desativar a opção LRU de várias gerações através de um DaemonSet.
Depois de o DaemonSet estar em execução em todos os conjuntos de nós selecionados, a alteração entra em vigor imediatamente e o cálculo da utilização de memória do kubelet volta ao normal. |
Operação | 1,28, 1,29, 1,30, 1,31 |
|
Pods bloqueados no estado de encerramentoUm erro no tempo de execução do contentor (containerd) pode fazer com que os pods e os contentores fiquem bloqueados no estado de encerramento com erros semelhantes aos seguintes: OCI runtime exec failed: exec failed: cannot exec in a stopped container: unknown
Se for afetado por este problema, pode atualizar os seus nós para uma versão do GKE com uma versão corrigida do containerd. |
Operação | 1.28 e 1.29 |
|
O streaming de imagens falha devido a links simbólicosUm erro na funcionalidade de streaming de imagens pode fazer com que os contentores não sejam iniciados. Os contentores executados num nó com o streaming de imagens ativado em versões específicas do GKE podem não ser criados com o seguinte erro: "CreateContainer in sandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to create containerd container: failed to mount [PATH]: too many levels of symbolic links"
Se for afetado por este problema, pode verificar se existem camadas vazias ou duplicadas. Se não conseguir remover camadas vazias ou duplicadas, desative o streaming de imagens. |
Operação | 1.27,1.28,1.29 |
|
O streaming de imagens falha devido a ficheiros em faltaUm erro na funcionalidade de streaming de imagens pode fazer com que os contentores falhem devido à falta de um ou mais ficheiros. Os contentores executados num nó com o streaming de imagens ativado nas seguintes versões podem não ser iniciados ou ser executados com erros a informar que determinados ficheiros não existem. Seguem-se exemplos de tais erros:
Se for afetado por este problema, pode desativar o streaming de imagens. |
Redes,atualizações | 1,28 |
Erro de configuração de TLS do gatewayIdentificámos um problema com a configuração do TLS para gateways em clusters com a versão 1.28.4-gke.1083000 do GKE. Isto afeta as configurações TLS que usam um SSLCertificate ou um CertificateMap. Se estiver a atualizar um cluster com gateways existentes, as atualizações feitas ao gateway vão falhar. Para novos gateways, os balanceadores de carga não são aprovisionados. Este problema vai ser corrigido numa versão de patch do GKE 1.28 futura. |
|
Atualizações | 1.27 | 1.27.8 ou posterior |
Problema do plug-in do dispositivo GPU
Os clusters que estão a executar GPUs e que são atualizados da versão 1.26 para uma versão de patch 1.27 anterior à 1.27.8 podem ter problemas com os plug-ins de dispositivos GPU dos respetivos nós (
|
Operação | 1.27,1.28 |
|
A escala automática para todas as cargas de trabalho é interrompida
O HorizontalPodAutoscaler (HPA) e o VerticalPodAutoscaler (VPA) podem
parar o dimensionamento automático de todas as cargas de trabalho num cluster se este contiver
objetos HPA Solução alternativa:
Corrija objetos HPA
Para mais detalhes sobre como configurar objetos |
Operação | 1.28 e 1.29 |
|
A Deteção de ameaças de contentores não é implementadaA Deteção de ameaças de contentores pode falhar na implementação em clusters do Autopilot que executam as seguintes versões do GKE:
|
Redes, atualizações | 1.27, 1.28, 1.29, 1.30 |
|
Problemas de conetividade para
|
Redes | 1.31, 1.32 |
|
Tráfego UDP danificado entre pods executados no mesmo nóOs clusters com a visibilidade intranó ativada podem ter problemas com o tráfego UDP entre pods executados no mesmo nó. O problema é acionado quando o nó do cluster do GKE é atualizado para uma das seguintes versões do GKE ou criado com uma delas:
O caminho afetado é o tráfego UDP de pod para pod no mesmo nó através de Hostport ou Service. Resolução Atualize o cluster para uma das seguintes versões corrigidas:
|
Operação | 1.29,1.30,1.31 |
|
Encriptação da base de dados do Cloud KMS e operador do Ray incompatíveisAlgumas versões do Ray Operator são incompatíveis com a encriptação da base de dados do KMS da Google Cloud. Soluções alternativas: Atualize o painel de controlo do cluster para uma versão fixa ou posterior. |
Atualizações | 1.30, 1.31 |
|
O pod do controlador de manutenção da GPU está bloqueado no estado CrashLoopBackOffCom este problema, os pods gpu-maintenance-handler ficam presos num estado `CrashLoopBackOff` nos respetivos nós. Este estado impede que a etiqueta "manutenção futura" seja aplicada aos nós do GKE, o que pode afetar os processos de remoção de nós e despejo de pods para cargas de trabalho.
"Node upcoming maintenance label not applied due to error: Node "gke-yyy-yyy" is invalid: metadata.labels: Invalid value: "-62135596800": a valid label must be an empty string or consist of alphanumeric characters, '-','' or '.', and must start and end with an alphanumeric character (e.g.'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9])?')"
Se este problema lhe afetar, pode resolvê-lo atualizando o plano de controlo para uma versão do GKE que inclua a correção. |
Operação | 1.33.1-gke.1522000 e posteriores | 1.33.4-gke.1142000 e posteriores |
Os pods não são iniciados em nós com o streaming de imagens ativado
Em nós com o streaming de imagens ativado, as cargas de trabalho podem não ser iniciadas
com a seguinte assinatura de erro:
Os registos da porta série de um nó afetado também contêm a seguinte assinatura de erro:
A presença destas duas assinaturas de erro indica um impasse num dos componentes de streaming de imagens. Este impasse impede o início bem-sucedido dos pods. Mitigação: Reinicie o nó para uma mitigação rápida. Tenha em atenção que o nó reiniciado pode voltar a encontrar o impasse. Para uma mitigação mais robusta, desative o streaming de imagens no conjunto de nós executando o seguinte: gcloud container node-pools update NODE_POOL_NAME --cluster CLUSTER_NAME --no-enable-image-streaming |
O que se segue?
Se não conseguir encontrar uma solução para o seu problema na documentação, consulte a secção Obtenha apoio técnico para receber mais ajuda, incluindo aconselhamento sobre os seguintes tópicos:
- Abrindo um registo de apoio técnico através do contacto com o Cloud Customer Care.
- Receber apoio técnico da comunidade fazendo perguntas no StackOverflow e usando a etiqueta
google-kubernetes-engine
para pesquisar problemas semelhantes. Também pode juntar-se ao#kubernetes-engine
canal do Slack para receber mais apoio técnico da comunidade. - Abrir erros ou pedidos de funcionalidades através do rastreador de problemas público.