Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Tidak ada padanan
Dokumentasi Apigee Edge untuk topik ini.
Gejala
- Produk API, Developer, Aplikasi tidak diisi di UI Apigee.
- Deployment proxy API tidak selesai.
- Permintaan Management API dijalankan untuk membaca dan menulis produk API, Developer, dan Aplikasi gagal./li>
Pesan error
Bagian ini menjelaskan kemungkinan pesan error yang ditampilkan saat ada konektivitas jaringan tidak ada.
ApigeeIssue
Jika masalah ini dilaporkan sebagai ApigeeIssue, saat perintah berikut dijalankan:
kubectl -n APIGEE_NAMESPACE get apigeeissues
dengan APIGEE_NAMESPACE adalah nama untuk yaitu sekelompok resource Kubernetes.
kode error berikut ditampilkan:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Halaman UI Produk API, Developer, dan Aplikasi Apigee
Halaman UI produk API, Developer, dan Aplikasi Apigee menampilkan error berikut:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Log apigee-synchronizer
Pesan error berikut dapat dilihat di apigee-synchronizer
log:
{"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)
Log apigee-watcher
Pesan error berikut dapat dilihat di log 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"}
Kemungkinan Penyebab
Platform | Penyebab | Deskripsi |
---|---|---|
Semua | Tidak ada rute jaringan yang tersedia untuk internet | Jika tidak ada rute jaringan yang tersedia untuk internet, runtime Apigee komponen bidang tidak akan dapat berkomunikasi dengan kontrol Apigee API pesawat. |
Semua | Endpoint Apigee API tidak diizinkan | Jika ada firewall, endpoint API Apigee mungkin belum telah masuk daftar yang diizinkan. |
GKE | Akses Google Pribadi tidak diaktifkan | Jika deployment dilakukan di GKE, Akses Google Pribadi mungkin belum diaktifkan di subnet. |
Semua | Kegagalan jaringan yang tidak diketahui | Jika terjadi kegagalan yang tidak diketahui pada jaringan cluster saat menghubungkan ke internet, masalah ini dapat terjadi. |
Penyebab: Tidak ada rute jaringan yang tersedia untuk internet
Diagnosis
- Tergantung pada platform yang digunakan, periksa apakah ada rute jaringan yang tersedia dari jaringan cluster ke internet. Misalnya, untuk informasi lebih lanjut tentang jaringan di GKE, lihat Ringkasan jaringan.
- Tanyakan kepada tim infrastruktur dan jaringan Anda untuk mengetahui apakah cluster jaringan menggunakan server {i>forward proxy<i} untuk terhubung ke internet.
Resolusi
- Periksa dengan administrator jaringan dan tambahkan rute jaringan ke internet jika memungkinkan.
-
Jika ada server {i>forward proxy<i}
yang digunakan untuk berkomunikasi antara
jaringan cluster dan internet,
konfigurasi setelan server proxy penerusan di Apigee menggunakan
overrides.yaml
lalu terapkan perubahan tersebut ke runtime pesawat terbang.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Penyebab: Endpoint API Apigee tidak diizinkan
Diagnosis
Periksa dengan administrator jaringan dan verifikasi apakah daftar endpoint API Apigee diizinkan di firewall di platform tempat Apigee diinstal. Untuk GKE, hal ini bisa berupa Firewall Cloud Next Generation.
Resolusi
Jika daftar endpoint Apigee API di atas tidak diizinkan, hubungi administrator jaringan dan memenuhi persyaratan itu.
Penyebab: Akses Google Pribadi tidak diaktifkan
Diagnosis
- Jika Apigee di-deploy pada cluster GKE pribadi yang tidak memiliki akses ke internet, Akses Google Pribadi harus diaktifkan untuk mengizinkan Apigee akses komponen bidang runtime ke Google API secara internal.
-
Di konsol Google Cloud, buka halaman jaringan VPC.
- Klik nama jaringan.
- Pada tab Subnets, di kolom Private Google Access, pastikan subnet yang relevan telah diaktifkan. Jika tidak, itu alasan kegagalan ini.
Resolusi
-
Di konsol Google Cloud, buka halaman jaringan VPC.
- Klik nama jaringan.
- Klik nama subnet.
- Klik Edit.
- Pilih Akses Google Pribadi Aktif.
- Klik Simpan. Setelah diaktifkan, masalah ini akan diselesaikan.
Penyebab: Kegagalan jaringan yang tidak diketahui
Diagnosis
Hubungi administrator jaringan Anda dan verifikasi apakah ada kegagalan yang tidak diketahui dalam jaringan cluster.
Resolusi
Bekerja samalah dengan administrator jaringan Anda dan selesaikan masalah di cluster jaringan. Setelah masalah jaringan diperbaiki, masalah ini akan diselesaikan.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti instruksi di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Google Cloud Customer Care:
- ID Project Google Cloud.
- Nama organisasi hybrid Apigee.
- Output dari perintah berikut yang dieksekusi pada semua node cluster Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- File
overrides.yaml
, yang menyamarkan semua informasi sensitif. - Status pod Kubernetes di semua namespace:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- Dump info cluster Kubernetes:
Buat dump info cluster Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Dump info cluster Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*