Está a ver a documentação do Apigee e do Apigee Hybrid.
Não existe um equivalente
na documentação do Apigee Edge para este tópico.
Sintomas
- Os produtos de API, os programadores e as apps não são preenchidos na IU do Apigee.
- As implementações de proxy de API não são concluídas.
- Os pedidos da API Management executados para ler e escrever produtos API, programadores e apps falham.
Mensagens de erro
Esta secção descreve as possíveis mensagens de erro apresentadas quando não existe conectividade de rede.
ApigeeIssue
Se este problema tiver sido comunicado como um ApigeeIssue, quando o seguinte comando é executado:
kubectl -n APIGEE_NAMESPACE get apigeeissues
onde APIGEE_NAMESPACE é o nome de um agrupamento de recursos do Kubernetes.
É apresentado o seguinte código de erro:
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 IU do Apigee de produtos de API, programadores e apps
As páginas da IU da API Apigee Products, Developers e Apps apresentam o seguinte erro:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Registos do apigee-synchronizer
Pode ver a seguinte mensagem de erro nos registos 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)
Registos do apigee-watcher
Pode ver a seguinte mensagem de erro nos registos 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 | Nenhum trajeto de rede disponível para a Internet | Se não estiver disponível nenhum caminho de rede para a Internet, os componentes do plano de execução do Apigee não vão conseguir comunicar com as APIs do plano de controlo do Apigee. |
Tudo | Os pontos finais da API Apigee não estão na lista de autorizações | Se existir uma firewall, os pontos finais da API Apigee podem não ter sido adicionados à lista de autorizações. |
GKE | O acesso privado à Google não está ativado | Se a implementação estiver no GKE, o acesso privado à Google pode não ter sido ativado na sub-rede. |
Tudo | Falha de rede desconhecida | Este problema pode ocorrer se houver uma falha desconhecida na rede do cluster ao estabelecer ligação à Internet. |
Causa: não existe nenhum caminho de rede disponível para a Internet
Diagnóstico
- Consoante a plataforma usada, verifique se existe um caminho de rede disponível a partir da rede do cluster para a Internet. Por exemplo, para mais informações sobre a rede no GKE, consulte a Vista geral da rede.
- Verifique junto da sua equipa de infraestrutura e rede se a rede do cluster usa um servidor proxy de encaminhamento para estabelecer ligação à Internet.
Resolução
- Contacte o administrador de rede e adicione uma rota de rede à Internet, se possível.
-
Se existir um servidor proxy de encaminhamento usado para a comunicação entre a rede do cluster e a Internet,
configure as definições do servidor proxy de encaminhamento no Apigee através do ficheiro
overrides.yaml
e aplique essa alteração ao plano de execução através do comando Helm:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE \ --dry-run=server
Certifique-se de que inclui todas as definições apresentadas, incluindo
--atomic
para que a ação seja revertida em caso de falha.A sua instalação pode ou não ter sido configurada através de um ENV_GROUP_RELEASE_NAME diferente de ENV_GROUP. Para ver informações sobre as definições, consulte o artigo Instale o Apigee hybrid com o Helm.
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE
Causa: os pontos finais da API Apigee não estão na lista de autorizações
Diagnóstico
Contacte o administrador de rede e verifique se a lista de pontos finais da API Apigee está na lista de autorizações na firewall na plataforma onde o Apigee está instalado. Para o GKE, pode ser o Cloud Next Generation Firewall.
Resolução
Se a lista acima de endpoints da API Apigee não estiver na lista de autorizações, contacte o administrador de rede e cumpra esse requisito.
Causa: o acesso privado à Google não está ativado
Diagnóstico
- Se o Apigee for implementado num cluster GKE privado que não tenha acesso à Internet, o acesso privado à Google tem de ser ativado para permitir que os componentes do plano de tempo de execução do Apigee acedam internamente às APIs Google.
-
Na Google Cloud consola, aceda à página Redes VPC.
- Clique no nome de uma rede.
- No separador Sub-redes, na coluna Acesso privado à Google, verifique se a sub-rede relevante está ativada. Se não for o caso, esse é o motivo desta falha.
Resolução
-
Na Google Cloud consola, aceda à página Redes VPC.
- Clique no nome de uma rede.
- Clique no nome de uma sub-rede.
- Clique em Editar.
- Selecione Acesso privado à Google ativado.
- Clique em Guardar. Depois de ativada, este problema é resolvido.
Causa: falha de rede desconhecida
Diagnóstico
Contacte o administrador da rede e verifique se existem falhas desconhecidas na rede do cluster.
Resolução
Trabalhe com o administrador da rede e resolva os problemas na rede do cluster. Quando os problemas de rede forem corrigidos, este problema é resolvido.
Tem de recolher informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, recolha as seguintes informações de diagnóstico e, em seguida, contacte o apoio ao cliente da Google Cloud:
- O Google Cloud ID do projeto.
- O nome da organização do Apigee Hybrid.
- Os resultados dos seguintes comandos executados em todos os nós do cluster do Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- O ficheiro
overrides.yaml
, ocultando quaisquer informações confidenciais. - O estado do pod do Kubernetes em todos os espaços de nomes:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- A captura de informações do cluster do Kubernetes:
Gerar um descarregamento de informações do cluster do Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Comprimir a captura 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/*