Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
- Produk API, Developer, dan Aplikasi tidak diisi di UI Apigee.
- Deployment proxy API tidak selesai.
- Permintaan API Pengelolaan 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 konektivitas 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 Aplikasi, Developer, dan produk API
Halaman UI Apigee Produk, 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 untuk internet | Jika tidak ada rute jaringan yang tersedia untuk internet, komponen bidang runtime Apigee tidak akan dapat berkomunikasi dengan API bidang kontrol Apigee. |
Semua | Endpoint API Apigee tidak diizinkan | Jika diterapkan firewall, endpoint API Apigee mungkin belum diizinkan. |
GKE | Akses Google Pribadi tidak diaktifkan | Jika deployment berada di GKE, Akses Google Pribadi mungkin belum diaktifkan di subnet. |
Semua | Kegagalan jaringan yang tidak diketahui | Masalah ini dapat terjadi jika ada kegagalan yang tidak diketahui di jaringan cluster saat terhubung ke internet. |
Penyebab: Rute jaringan tidak tersedia untuk 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.
- Tanyakan kepada tim infrastruktur dan jaringan Anda untuk mengetahui apakah jaringan cluster menggunakan server proxy maju untuk terhubung ke internet.
Resolusi
- Hubungi administrator jaringan dan tambahkan rute jaringan ke internet jika memungkinkan.
-
Jika ada server proxy maju yang digunakan untuk berkomunikasi antara jaringan cluster dan internet,
konfigurasi setelan server proxy maju di Apigee menggunakan file
overrides.yaml
dan terapkan perubahan tersebut pada bidang runtime.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Penyebab: Endpoint API Apigee tidak diizinkan
Diagnosis
Hubungi administrator jaringan dan verifikasi apakah daftar endpoint API Apigee diizinkan di firewall pada platform tempat Apigee diinstal. Untuk GKE, solusi ini dapat berupa Firewall Cloud Next Generation.
Resolusi
Jika daftar endpoint API Apigee di atas tidak diizinkan, hubungi administrator jaringan dan lengkapi 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 akses komponen bidang runtime Apigee 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 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 Akses Google Pribadi Aktif.
- Klik Simpan. Setelah diaktifkan, masalah ini akan diatasi.
Penyebab: Kegagalan jaringan 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 pada jaringan cluster. Setelah masalah jaringan diperbaiki, masalah ini akan diselesaikan.
Harus mengumpulkan informasi diagnostik
Jika masalah terus berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Google Cloud Customer Care:
- ID Project Google Cloud.
- Nama organisasi campuran Apigee.
- Output dari perintah berikut dieksekusi 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. - 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:
Membuat dump info cluster Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
File dump info cluster Kubernetes Zip:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*