Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
Gejala
Anda mungkin mengamati salah satu gejala berikut:
- Aplikasi klien mendapatkan error waktu tunggu habis sebagai respons untuk panggilan API di Apigee hybrid.
- Anda mengamati error seperti
Error from server (invalid)
atauThe Job "apigee-resources-install" is invalid
saat menerapkan konfigurasi (overrides.yaml)
ke cluster selama penginstalan Apigee Hybrid.
Pesan error
Anda mungkin melihat salah satu error berikut:
Respons error untuk panggilan API
Permintaan API di Apigee hybrid mungkin gagal dengan pesan error berikut:
* Connection failed * connect to 34.84.67.39 port 443 failed: Operation timed out * Failed to connect to example.apis.com port 443: Operation timed out * Closing connection 0 curl: (7) Failed to connect to example.apis.com port 443: Operation timed out
Error yang diamati saat menerapkan konfigurasi (overrides.yaml) ke cluster
Anda mungkin mengamati salah satu error berikut saat menerapkan konfigurasi
(file overrides.yaml
) ke cluster selama penginstalan:
Error #1
apigeectl init -f overrides/overrides.yaml
... ... Error from server (Invalid): error when applying patch: to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-10-1.4.6", Namespace: "istio-system" to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-11-1.4.6", Namespace: "istio-system" to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-14-1.4.6", Namespace: "istio-system"
Error #2
apigeectl init -f overrides/overrides.yaml
... ... The Job "apigee-resources-install" is invalid: spec.template: Invalid value: core.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"apigee-resources-install", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0,
Kemungkinan penyebab
Error ini dapat terjadi jika layanan istio-ingressgateway
berada dalam
status pending
dan tidak dapat terikat ke alamat IP eksternal seperti yang ditunjukkan di bawah:
kubectl get services -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 10.198.5.104 <pending> 15020:31927/TCP, 12h 80:31381/TCP, 443:31391/TCP, 31400:31401/TCP, 15443:32623/TCP
Kemungkinan penyebab layanan istio-ingressgateway
berada dalam
status pending
adalah sebagai berikut:
Penyebab | Deskripsi |
---|---|
Tugas dalam status salah/tertunda di namespace istio-system | Tugas incomplete/erroneous di namespace istio-system dapat
menyebabkan layanan istio-ingressgateway berada dalam status pending selamanya
dan tidak dapat terikat ke alamat IP eksternal. |
Tugas apigee-resources-install dalam status salah/tertunda di namespace apigee-system | Tugas incomplete di namespace apigee-system dapat menyebabkan layanan istio- ingressgateway berada dalam status pending selamanya dan tidak dapat terikat ke alamat IP eksternal. |
Rentang alamat IP yang salah ditetapkan ke load balancer eksternal | Rentang alamat IP yang salah dapat dikonfigurasi dalam file istio-operator.yaml
sehingga menyebabkan layanan istio-ingressgateway masuk ke status pending
selamanya dan tidak dapat terikat ke alamat IP eksternal selama penginstalan.
|
Penyebab: Tugas di namespace istio-system dalam status salah/tertunda
Diagnosis
- Periksa status tugas di namespace
istio-system
menggunakan perintah berikut:kubectl get jobs -n istio-system
- Status tugas harus
complete
. Jika status tugas dalam statuserroneous/pending
, maka itulah penyebab masalah ini.
Resolusi
- Jika ada tugas dalam status
pending
atauerroneous
, hapus tugas tersebut menggunakan perintah berikut:kubectl -n istio-system delete job JOB_NAME_FROM_STEP_1
- Jalankan kembali penginstalan dengan menerapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
Penyebab: tugas apigee-resources-install di namespace apigee-system mungkin dalam status salah
Diagnosis
- Periksa status tugas di namespace
apigee-system
menggunakan perintah berikut:kubectl get jobs -n apigee-system
- Status tugas harus
complete
. Jika status tugas berada dalam statuserroneous/pending
, hal itu adalah penyebab masalah ini. Contoh output berikut menunjukkan bahwa tugasapigee-resources-install
berhasil diselesaikan.kubectl get jobs -n apigee-system NAME COMPLETIONS DURATION AGE apigee-resources-install 1/1 23s 16d
Resolusi
- Jika tugas berada dalam status
pending
atauerroneous
, hapus tugas tersebut menggunakan perintah berikut:kubectl -n apigee-system delete job JOB_NAME_FROM_STEP_1
- Jalankan kembali penginstalan dengan menerapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
Penyebab: Rentang alamat IP yang salah ditetapkan ke load balancer eksternal
Diagnosis
- Periksa alamat IP yang dikonfigurasi untuk load balancer dalam file
istio- operator.yaml
. Misalnya, cuplikan berikut menunjukkan lokasi di fileistio-operator.yaml
tempat alamat IP dikonfigurasi:-name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer loadBalancerIP: 10.195.24.23
- Layanan
istio-ingressgateway
dikonfigurasi sebagai load balancer (ditunjukkan oleh jenis) dalam fileistio-operator.yaml
. Selama penginstalan ASM, load balancer dibuat dengan alamat IP yang dikonfigurasi dan dihubungkan untuk berkomunikasi dengan layananistio- ingressgateway
. Oleh karena itu, alamat IP yang dikonfigurasi harus benar dan dicadangkan untuk load balancer. - Hubungi tim jaringan Anda dan pastikan alamat IP yang dikonfigurasi untuk
loadBalancerIP
sudah benar. Jika salah, layanan load balancer tidak akan dapat mengikat ke alamat IP. Hal ini menyebabkan layananistio-ingressgateway
berada dalam statuspending
selamanya.
Resolusi
- Bekerja samalah dengan tim jaringan Anda dan konfigurasikan alamat IP yang benar di file
istio- operator.yaml
. - Jalankan ulang
penginstalan ASM dan terapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
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
- Nama Cluster Kubernetes
- Nama project Google Cloud jika cluster Kubernetes berada di project Google Cloud yang berbeda
- File
overrides.yaml
- File
Istio-operator .yaml
yang digunakan selama penginstalan ASM. - Kumpulkan log dari setiap pod
istio-ingressgateway
di namespaceistio-system
:kubectl logs NAME_OF_ISTIO_INGRESSGATEWAY_POD -n istio-system > /tmp/NAME_OF_ISTIO_INGRESSGATEWAY_POD.log
- Kumpulkan deskripsi setiap pod di namespace
istio-system
:kubectl describe pod NAME_OF_ISTIO_INGRESSGATEWAY_POD -n istio-system > /tmp/NAME_OF_ISTIO_INGRESSGATEWAY_POD.yaml
- Kumpulkan daftar layanan di namespace
istio-system
:kubectl get svc -n istio-system