Esta
é a documentação da Apigee e da Apigee híbrida.
Não há documentação equivalente do
Apigee Edge para esse tópico.
Sintomas
- Os produtos de API, desenvolvedores e aplicativos não são preenchidos na interface da Apigee.
- As implantações de proxy de API não foram concluídas.
- As solicitações da API Management executadas para ler e gravar produtos de API, desenvolvedores e aplicativos falham.</li>
Mensagens de erro
Esta seção descreve as possíveis mensagens de erro exibidas quando não há conectividade de rede.
ApigeeIssue
Se este problema foi relatado como um ApigeeIssue quando o seguinte comando foi executado:
kubectl -n APIGEE_NAMESPACE get apigeeissues
em que APIGEE_NAMESPACE é o nome de um agrupamento de recursos do Kubernetes.
o seguinte código de erro é exibido:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Páginas da interface da Apigee de produtos de API, desenvolvedores e apps
As páginas da interface da Apigee de produtos de API, desenvolvedores e apps exibem o seguinte erro:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Registros do sincronizador da Apigee
A mensagem de erro a seguir pode ser vista nos registros
de apigee-synchronizer
:
{"level":"SEVERE","thread":"Apigee-Timer-3","mdc":{"action":"SYNC","env":"dev", "org":"example-hybrid-dev"},"className":"com.apigee.httpclient.adaptor.RequestAdaptor", "method":"doSend","severity":"SEVERE","message":"request failed [CONTEXT ratelimit_period\u003d\"1 MINUTES [skipped: 1]\" ]", "formattedDate":"2023-02-01T06:27:48.700Z","logger":"SERVICES.HTTPCLIENTSERVICE", "exceptionStackTrace":"java.net.SocketTimeoutException: connect timed out ... com.apigee.httpclient.adaptor.RequestAdaptor.send(RequestAdaptor.java:251) at com.apigee.hybrid.runtime.contract.sync.context.HttpContractDownloader.download(HttpContractDownloader.java:84) at com.apigee.hybrid.runtime.contract.sync.context.ControlPlaneReplicationContext.getContract(ControlPlaneReplicationContext.java:66)
Registros do Apigee Watcher
A seguinte mensagem de erro pode ser vista nos registros de apigee-watcher
:
{"level":"error","ts":1675232549.5093117,"caller":"watcher/watcher.go:60", "msg":"error during watch","name":"mpstatus","error":"INTERNAL: error sending mp status to mgmt: INTERNAL: failed to send runtime status Post \"https://apigee.googleapis.com/v1/organizations/example-hybrid-dev/instances/apigee-hybrid-australia-southeast1:reportStatus\": dial tcp 172.217.24.42:443: i/o timeout","stacktrace": "edge-internal.git.corp.google.com/apigee-watcher.git/watcher. (*Watcher).Start.func1.1\n\t/go/src/edge-internal/apigee-watcher/watcher/watcher.go:60"}
Causas possíveis
Plataforma | Causa | Descrição |
---|---|---|
Tudo | Nenhuma rota de rede disponível para a Internet | Se nenhuma rota de rede estiver disponível para a Internet, os componentes do plano do ambiente de execução da Apigee não poderão se comunicar com as APIs do plano de controle da Apigee. |
Tudo | Os endpoints da API Apigee não estão na lista de permissões | Se houver um firewall em vigor, os endpoints da API Apigee podem não estar na lista de permissões. |
GKE | O Acesso privado do Google não está ativado | Se a implantação estiver no GKE, o Acesso privado do Google poderá não ter sido ativado na sub-rede. |
Tudo | Falha de rede desconhecida | Se houver uma falha desconhecida na rede do cluster ao estabelecer conexão com a Internet, esse problema poderá ocorrer. |
Causa: não há rotas de rede disponíveis para a Internet
Diagnóstico
- Dependendo da plataforma usada, verifique se há uma rota de rede disponível da rede do cluster para a Internet. Por exemplo, para mais informações sobre redes no GKE, consulte Visão geral da rede.
- Verifique com sua equipe de infraestrutura e rede se a rede do cluster usa um servidor proxy de encaminhamento para se conectar à Internet.
Resolução
- Verifique com o administrador da rede e adicione uma rota de rede para a Internet, se possível.
-
Se um servidor proxy de encaminhamento for usado para a comunicação entre a
rede do cluster e a Internet,
defina as configurações do servidor proxy de encaminhamento na Apigee usando o
arquivo
overrides.yaml
e aplique essa alteração ao plano do ambiente de execução.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Causa: os endpoints da API Apigee não estão na lista de permissões
Diagnóstico
Verifique com o administrador de rede se a lista de endpoints da API Apigee está na lista de permissões do firewall na plataforma em que a Apigee está instalada. Para o GKE, pode ser o Cloud Next Generation Firewall.
Resolução
Se a lista de endpoints da API Apigee acima não estiver na lista de permissões, entre em contato com o administrador de rede a fim de atender a esse requisito.
Causa: o Acesso privado do Google não está ativado
Diagnóstico
- Se a Apigee for implantada em um cluster particular do GKE sem acesso à Internet, o Acesso privado do Google precisará ser ativado para permitir que os componentes do plano do ambiente de execução da Apigee acessem internamente as APIs Google.
-
No Console do Google Cloud, acesse a página Redes VPC.
- Clique no nome de uma rede.
- Na guia Sub-redes, na coluna Acesso privado do Google, verifique se a sub-rede relevante está ativada. Se não estiver, esse será o motivo da falha.
Resolução
-
No Console do Google Cloud, acesse a página Redes VPC.
- Clique no nome de uma rede.
- Clique no nome de uma sub-rede.
- Clique em Editar.
- Selecione Ativar o Acesso privado do Google.
- Clique em Salvar. Depois da ativação, esse problema será resolvido.
Causa: falha de rede desconhecida
Diagnóstico
Entre em contato com o administrador de rede e verifique se há falhas desconhecidas na rede do cluster.
Resolução
Trabalhe com o administrador de rede e resolva os problemas na rede do cluster. Assim que os problemas de rede forem corrigidos, o erro será resolvido.
É necessário coletar informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, reúna as seguintes informações de diagnóstico e entre em contato com o Suporte do Google Cloud:
- O ID do projeto do Google Cloud.
- O nome da organização da Apigee híbrida.
- As saídas dos comandos a seguir executados em todos os nós do cluster do Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- O arquivo
overrides.yaml
, mascarando as informações confidenciais. - Status do pod do Kubernetes em todos os namespaces:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- O despejo de informações do cluster do Kubernetes:
Gere o despejo de informações do cluster do Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Compacte o despejo de informações do cluster do Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*