Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
- Produk API, Developer, Aplikasi tidak diisi di UI Apigee.
- Deployment proxy API tidak selesai.
- Permintaan Management API yang dijalankan untuk membaca dan menulis produk API, Developer, dan Aplikasi gagal./li>
Pesan error
Bagian ini menjelaskan kemungkinan pesan error yang ditampilkan saat tidak ada koneksi jaringan.
ApigeeIssue
Jika masalah ini dilaporkan sebagai ApigeeIssue, saat perintah berikut dijalankan:
kubectl -n APIGEE_NAMESPACE get apigeeissues
dengan APIGEE_NAMESPACE adalah nama untuk pengelompokan resource Kubernetes.
kode error berikut akan 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 Apigee untuk Produk API, Developer, dan Aplikasi
Halaman UI Apigee untuk Produk API, Developer, dan Aplikasi 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 log 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)
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 ke internet | Jika tidak ada rute jaringan yang tersedia ke internet, komponen platform runtime Apigee tidak akan dapat berkomunikasi dengan API platform kontrol Apigee. |
Semua | Endpoint API Apigee tidak diizinkan | Jika ada firewall, endpoint Apigee API mungkin belum dimasukkan dalam daftar yang diizinkan. |
GKE | Akses Google Pribadi tidak diaktifkan | Jika deployment berada di GKE, Akses Google Pribadi mungkin belum diaktifkan di subnet. |
Semua | Kegagalan jaringan tidak dikenal | Jika ada kegagalan yang tidak diketahui di jaringan cluster saat terhubung ke internet, masalah ini dapat terjadi. |
Penyebab: Tidak ada rute jaringan yang tersedia ke internet
Diagnosis
- Bergantung pada platform yang digunakan, verifikasi apakah ada rute jaringan yang tersedia dari jaringan cluster ke internet. Misalnya, untuk mengetahui informasi selengkapnya tentang jaringan di GKE, lihat Ringkasan jaringan.
- Hubungi tim infrastruktur dan jaringan Anda untuk mengetahui apakah jaringan cluster menggunakan server proxy forward untuk terhubung ke internet.
Resolusi
- Hubungi administrator jaringan dan tambahkan rute jaringan ke internet jika memungkinkan.
-
Jika ada server proxy forward yang digunakan untuk berkomunikasi antara jaringan cluster dan internet,
konfigurasi setelan server proxy forward di Apigee menggunakan file
overrides.yaml
dan terapkan perubahan tersebut ke platform runtime.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Penyebab: Endpoint Apigee API tidak diizinkan
Diagnosis
Hubungi administrator jaringan dan verifikasi apakah daftar endpoint Apigee API diizinkan di firewall pada platform tempat Apigee diinstal. Untuk GKE, ini dapat berupa Cloud Next Generation Firewall.
Resolusi
Jika daftar endpoint Apigee API di atas tidak diizinkan, hubungi administrator jaringan dan selesaikan persyaratan tersebut.
Penyebab: Akses Google Pribadi tidak diaktifkan
Diagnosis
- Jika Apigee di-deploy di cluster GKE pribadi yang tidak memiliki akses ke internet, Akses Google Pribadi harus diaktifkan untuk mengizinkan komponen platform runtime Apigee mengakses Google API secara internal.
-
Di konsol Google Cloud, buka halaman jaringan VPC.
- Klik nama jaringan.
- Di tab Subnet, di kolom Akses Google Pribadi, pastikan subnet yang relevan diaktifkan. Jika tidak, itulah alasan kegagalan ini.
Resolusi
-
Di konsol Google Cloud, buka halaman jaringan VPC.
- Klik nama jaringan.
- Klik nama subnet.
- Klik Edit.
- Pilih Private Google Access On.
- Klik Simpan. Setelah diaktifkan, masalah ini akan teratasi.
Penyebab: Kegagalan jaringan tidak diketahui
Diagnosis
Hubungi administrator jaringan Anda dan pastikan apakah ada kegagalan yang tidak diketahui di jaringan cluster.
Resolusi
Bekerja samalah dengan administrator jaringan Anda dan selesaikan masalah di jaringan cluster. Setelah masalah jaringan diperbaiki, masalah ini akan teratasi.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut meskipun setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Layanan Pelanggan Google Cloud:
- ID Project Google Cloud.
- Nama organisasi Apigee Hybrid.
- Output dari perintah berikut yang dijalankan di semua node cluster Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- File
overrides.yaml
, yang menyamarkan informasi sensitif apa pun. - 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
Mengezip dump info cluster Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*