Esta página apresenta uma lista de problemas conhecidos relacionados com o trabalho em rede 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.
Para filtrar os problemas conhecidos por uma versão do produto, selecione os filtros nos seguintes menus pendentes.
Selecione a sua versão do GKE:
Em alternativa, pesquise o seu problema:
Versões identificadas | Versões corrigidas | Problema e solução alternativa |
---|---|---|
1.28, 1.29, 1.30, 1.31, 1.32, 1.33 |
Fuga de endereço IP do pod em nós com GKE Dataplane V2Os clusters com o GKE Dataplane V2 ativado podem sofrer esgotamento do endereço IP do pod nos nós. Este problema é causado por um erro de tempo de execução do contentor que pode divulgar endereços IP atribuídos quando os pods encontram erros CNI transitórios durante a criação. O problema é acionado quando o nó do cluster do GKE é atualizado para uma das seguintes versões do GKE ou é criado com uma delas:
Quando este problema ocorre, os novos pods agendados no nó afetado não são iniciados e devolvem uma mensagem de erro semelhante à seguinte: Solução alternativa: Para mitigar este problema, pode aplicar o DaemonSet de mitigação ao cluster para limpar os recursos de IP com fugas: apiVersion: apps/v1 kind: DaemonSet metadata: name: cleanup-ipam-dir namespace: kube-system spec: selector: matchLabels: name: cleanup-ipam template: metadata: labels: name: cleanup-ipam spec: hostNetwork: true securityContext: runAsUser: 0 runAsGroup: 0 seccompProfile: type: RuntimeDefault automountServiceAccountToken: false containers: - name: cleanup-ipam image: gcr.io/gke-networking-test-images/ubuntu-test:2022@sha256:6cfbdf42ccaa85ec93146263b6e4c60ebae78951bd732469bca303e7ebddd85e command: - /bin/bash - -c - | while true; do for hash in $(find /hostipam -iregex '/hostipam/[0-9].*' -mmin +10 -exec head -n1 {} \; ); do hash="${hash%%[[:space:]]}" if [ -z $(ctr -n k8s.io c ls | grep $hash | awk '{print $1}') ]; then grep -ilr $hash /hostipam fi done | xargs -r rm echo "Done cleaning up /var/lib/cni/networks/gke-pod-network at $(date)" sleep 120s done volumeMounts: - name: host-ipam mountPath: /hostipam - name: host-ctr mountPath: /run/containerd securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL volumes: - name: host-ipam hostPath: path: /var/lib/cni/networks/gke-pod-network - name: host-ctr hostPath: path: /run/containerd |
|
1.31, 1.32, 1.33 |
|
Indisponibilidades de balanceadores de carga de entrada e de serviços em clusters com uma rede antigaUma incompatibilidade com as redes antigas faz com que os back-ends de um equilibrador de carga gerido pelo GKE implementado através do Ingress ou do serviço sejam separados. Isto faz com que o balanceador de carga não tenha back-ends ativos, o que, por sua vez, leva à rejeição de todos os pedidos recebidos para esses balanceadores de carga. O problema afeta os clusters do GKE que usam uma rede antiga e estão na versão 1.31 ou posterior. Para identificar clusters do GKE com uma rede antiga, execute o seguinte comando: gcloud container clusters describe CLUSTER_NAME --location=LOCATION --format="value(subnetwork)" Um cluster com uma rede antiga recebe uma saída vazia para este comando. Solução alternativa: Uma vez que as redes antigas foram descontinuadas há algum tempo, a solução preferencial é migrar a sua rede antiga para uma rede da VPC. Pode fazê-lo convertendo uma rede antiga que contenha clusters do GKE. Se não conseguir realizar esta migração neste momento, contacte o apoio ao cliente da nuvem. |
1.30, 1.31 e 1.32 |
|
Os nós criados recentemente não são adicionados aos balanceadores de carga internos da camada 4Cloud de Confiance by S3NS Os balanceadores de carga criados para serviços LoadBalancer internos podem não detetar nós criados recentemente no grupo de instâncias de back-end. O problema é mais visível num cluster que foi dimensionado para zero nós e, em seguida, dimensionado novamente para um ou mais nós. Soluções alternativas:
|
1.31,1.32 |
|
Problemas da API Gateway devido à remoção de storedVersions do estado do CRD
O Kube-Addon-Manager no GKE remove incorretamente o O seu cluster pode estar em risco se cumprir todas as seguintes condições:
Solução alternativa: A solução alternativa recomendada é atrasar as atualizações do cluster até o problema ser resolvido.
Em alternativa, se precisar de atualizar a versão do cluster, tem de atualizar a versão de armazenamento de todos os CRDs da API Gateway afetados para
|
1,32 |
|
Os novos pods não conseguem inicializar e ficam bloqueados em ContainerCreating
Não é possível criar novos pods, que ficam bloqueados no estado Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "[sandbox-ID]": plugin type="cilium-cni" failed (add): unable to create endpoint: Cilium API client timeout exceeded O problema afeta clusters do GKE nas versões entre 1.32 e antes de 1.32.3-gke.1170000, que foram criados nas versões 1.31 ou 1.32 do GKE. A causa principal é que uma estrutura de dados na memória que mantinha uma coleção de identidades do Cilium não estava corretamente sincronizada com o estado do servidor da API Kubernetes.
Para confirmar a versão do GKE que foi usada para criar o cluster, pode consultar o recurso gcloud container clusters describe [cluster_name] --location [location] --format='value(initialClusterVersion)'
Se o cluster do GKE tiver o registo ativado, o contentor resource.type="k8s_container" resource.labels.container_name="cilium-agent" Solução alternativa: Uma mitigação temporária consiste em reiniciar o plano de controlo. Isto pode ser conseguido atualizando o plano de controlo para a mesma versão que já está a ser executada: gcloud container clusters upgrade [cluster_name] --location [location] --cluster-version=[version] --master |
1.27,1.28,1.29,1.30,1.31 |
O controlador NEG deixa de gerir os pontos finais quando a porta é removida do serviçoQuando o controlador NEG está configurado para criar um NEG autónomo para um serviço e uma das portas configuradas for posteriormente removida do serviço, o controlador NEG acaba por deixar de gerir os pontos finais do NEG. Além dos serviços em que o utilizador cria uma anotação NEG autónoma, isto também afeta os serviços que são referenciados pelo GKE Gateway, MCI e GKE Multi Cluster Gateway. Solução alternativa: Quando remove uma porta de um serviço com uma anotação NEG autónoma, a anotação também tem de ser atualizada para remover a porta em questão. |
|
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 falham. 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. |
|
1.27,1.28,1.29 |
|
Falhas intermitentes no estabelecimento de ligaçãoOs clusters nas versões 1.26.6-gke.1900 e posteriores do plano de controlo podem encontrar falhas intermitentes no estabelecimento de ligações. As probabilidades de falhas são baixas e não afetam todos os clusters. As falhas devem parar completamente após alguns dias desde o início do sintoma. |
1.27,1.28,1.29 |
|
Problemas de resolução de DNS com o SO otimizado para contentoresAs cargas de trabalho executadas em clusters do GKE com nós baseados no SO otimizado para contentores podem ter problemas de resolução de DNS. |
1,28 | 1.28.3-gke.1090000 ou posterior |
A política de rede rejeita uma ligação devido a uma pesquisa de acompanhamento de ligações incorretaPara clusters com o GKE Dataplane V2 ativado, quando um pod cliente se liga a si próprio através de um serviço ou do endereço IP virtual de um equilibrador de carga de rede de passagem interno, o pacote de resposta não é identificado como parte de uma ligação existente devido a uma pesquisa de conntrack incorreta no plano de dados. Isto significa que uma política de rede que restringe o tráfego de entrada para o pod é aplicada incorretamente no pacote. O impacto deste problema depende do número de pods configurados para o serviço. Por exemplo, se o serviço tiver 1 pod de back-end, a ligação falha sempre. Se o serviço tiver 2 pods de back-end, a ligação falha 50% das vezes. Solução alternativa:
Pode mitigar este problema configurando o |
1.27,1.28 |
|
Perdas de pacotes para fluxos de ligação em cotoveloPara clusters com o GKE Dataplane V2 ativado, quando um pod cria uma ligação TCP a si próprio através de um serviço, de modo que o pod seja a origem e o destino da ligação, o GKE Dataplane V2 eBPF rastreia incorretamente os estados de ligação, o que leva a entradas de conntrack com fugas. Quando uma tupla de ligação (protocolo, IP de origem/destino e porta de origem/destino) foi divulgada, as novas ligações que usam a mesma tupla de ligação podem resultar na rejeição de pacotes de retorno. Solução alternativa: Use uma das seguintes soluções alternativas:
|
Anterior a 1.31.0-gke.1506000 | 1.31.0-gke.1506000 e posterior |
A rede introduzida no dispositivo na rede múltipla do GKE falha com nomes de rede longosA criação do cluster falha com o seguinte erro:
Solução alternativa: Limite o comprimento dos nomes de objetos de rede introduzidos no dispositivo a 41 carateres ou menos. O caminho completo de cada socket de domínio UNIX é composto, incluindo o nome da rede correspondente. O Linux tem uma limitação no comprimento dos caminhos de sockets (inferior a 107 bytes). Depois de ter em conta o diretório, o prefixo do nome do ficheiro e a extensão |
1.27, 1.28, 1.29, 1.30 |
|
Problemas de conetividade para
|
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 serviço. Resolução Atualize o cluster para uma das seguintes versões corrigidas:
|
1,28, 1,29, 1,30, 1,31 |
Os Calico Pods não estão em bom estado nos clusters com menos de 3 nós totais e um número insuficiente de vCPUsNão é possível agendar pods calico-typha e calico-node em clusters que cumpram todas as seguintes condições: menos de 3 nós no total, cada nó com 1 ou menos vCPUs atribuíveis e política de rede ativada. Isto deve-se a recursos da CPU insuficientes. Soluções alternativas:
|
|
Indisponibilidades do Multi-Cluster Gateway (MCG) em clusters zonais durante as atualizações do plano de controloAs implementações que usam o Multi-Cluster Gateway (MCG) em clusters zonais do GKE podem sofrer interrupções com erros `503` durante eventos que causam um reinício do plano de controlo, como uma atualização do cluster. Isto ocorre porque o MCG depende de um mecanismo antigo para a deteção do grupo de pontos finais de rede (NEG) que comunica incorretamente zero back-ends quando os nós num cluster zonal ficam temporariamente indisponíveis durante o reinício do plano de controlo. Isto faz com que o balanceador de carga remova todos os back-ends, o que resulta na perda de tráfego. Soluções alternativas:
|