Resolver problemas de Ingress do GKE


Nesta página, mostramos como resolver problemas relacionados ao Entrada no Google Kubernetes Engine (GKE).

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.

Anotação incorreta para a classe Entrada

Sintoma

Ao criar uma entrada, talvez você veja o seguinte erro:

Missing one or more resources. If resource creation takes longer than expected, you might have an invalid configuration.

Causas possíveis

Ao criar a entrada, você pode ter configurado a classe Ingress incorretamente no manifesto.

Resolução

Para especificar uma classe de entrada, use a anotação kubernetes.io/ingress.class. Não é possível especificar uma entrada do GKE usando spec.ingressClassName.

  • Para implantar um balanceador de carga de aplicativo interno, use a anotação kubernetes.io/ingress.class: gce-internal.
  • Para implantar um balanceador de carga de aplicativo externo, use a anotação kubernetes.io/ingress.class: gce.

Anotação incorreta para o endereço IP estático

Sintoma

Ao configurar um Entrada externo para usar um endereço IP estático, você pode receber o seguinte erro:

Error syncing to GCP: error running load balancer syncing routine: loadbalancer <Name of load balancer> does not exist: the given static IP name <Static IP> doesn't translate to an existing static IP.

Causas possíveis

  • Você não criou um endereço IP externo estático antes de implantar o Entrada.
  • Você não está usando a anotação correta para seu tipo de balanceador de carga.

Resolução

Se você estiver configurando uma entrada externa:

Se você estiver configurando um Entrada interno:

  • Reserve um endereço IP interno estático regional antes de implantar o Entrada.
  • Use a anotação kubernetes.io/ingress.regional-static-ip-name no recurso Entrada.

O endereço IP estático já está em uso

Sintoma

Talvez você encontre o seguinte erro ao especificar um endereço IP estático para provisionar seu recurso de Entrada interno ou externo:

Error syncing to GCP: error running load balancer syncing
routine: loadbalancer <LB name> does not exist:
googleapi: Error 409: IP_IN_USE_BY_ANOTHER_RESOURCE - IP ''<IP address>'' is already being used by another resource.

Causas possíveis

O endereço IP estático já está sendo usado por outro recurso.

Erro ao desativar o HTTP e usar um certificado gerenciado do Google

Sintoma

Se você estiver configurando um certificado SSL gerenciado pelo Google e desativando o tráfego HTTP na Entrada, vai aparecer o seguinte erro:

Error syncing to GCP: error running load balancer syncing
routine: loadbalancer <Load Balancer name> does not exist:
googleapi: Error 404: The resource ''projects/<Project>/global/sslPolicies/<Policy name>' was not found, notFound

Causas possíveis

Não é possível usar as seguintes anotações ao mesmo tempo ao configurar o Entrada:

  • networking.gke.io/managed-certificates (para associar o certificado gerenciado pelo Google a uma Entrada)
  • kubernetes.io/ingress.allow-http: false (para desativar o tráfego HTTP)

Resolução

Desative o tráfego HTTP somente depois que o balanceador de carga de aplicativo externo estiver totalmente programado. Você pode atualizar a entrada e adicionar a anotação kubernetes.io/ingress.allow-http: false ao manifesto.

A sub-rede somente proxy está ausente para uma entrada interna

Sintoma

Ao implantar um Entrada para um balanceador de carga de aplicativo interno, talvez você encontre o seguinte erro:

Error syncing to GCP: error running load balancer syncing routine:
loadbalancer <LB name> does not exist: googleapi: Error 400: Invalid value for field 'resource.target': 'https://www.googleapis.com/compute/v1/projects/<Project ID>/regions/<Region>/targetHttpsProxies/<Target proxy>'.
An active proxy-only subnetwork is required in the same region and VPC as
the forwarding rule.

Causas possíveis

Você não criou uma sub-rede somente proxy antes de criar o recurso Entrada. Uma sub-rede somente proxy é necessária para balanceadores de carga de aplicativo internos.

Resolução

Crie uma sub-rede somente proxy antes de implantar a entrada interna.

A chave do certificado SSL é muito grande

Sintoma

Se o tamanho da chave do certificado SSL do balanceador de carga for muito grande, talvez você receba o seguinte erro:

Error syncing to GCP: error running load balancer syncing routine: loadbalancer gky76k70-load-test-trillian-api-ingress-fliismmb does not exist: Cert creation failures - k8s2-cr-gky76k70-znz6o1pfu3tfrguy-f9be3a4abbe573f7 Error:googleapi: Error 400: The SSL key is too large., sslCertificateKeyTooLarge

Causas possíveis

OGoogle Cloud tem um limite de 2.048 bits para chaves de certificado SSL.

Resolução

Reduza o tamanho da chave do certificado SSL para 2.048 bits ou menos.

Erro ao criar uma entrada no nível padrão

Sintoma

Se você estiver implantando uma entrada em um projeto com o nível de rede padrão do projeto definido como Padrão, a seguinte mensagem de erro será exibida:

Error syncing to GCP: error running load balancer syncing routine: load balancer <LB Name> does not exist: googleapi: Error 400: STANDARD network tier (the project''s default network tier) is not supported: STANDARD network tier is not supported for global forwarding rule., badRequest

Resolução

Defina o nível de rede padrão do projeto como Premium.