Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat
Dokumentasi Apigee Edge.
Gejala
Anda mungkin melihat salah satu gejala berikut:
- Aplikasi klien mendapatkan error waktu tunggu sebagai respons untuk panggilan API pada Apigee Hybrid.
- Anda mengamati error seperti
Error from server (invalid)
atauThe Job "apigee-resources-install" is invalid
saat menerapkan konfigurasi (overrides.yaml)
untuk dikelompokkan selama penginstalan hybrid Apigee.
Pesan error
Anda mungkin melihat salah satu error berikut:
Respons error terhadap panggilan API
Permintaan API pada 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 melihat salah satu error berikut saat menerapkan konfigurasi
(overrides.yaml
file) ke kelompok selama pemasangan:
Kesalahan #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"
Kesalahan #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
pending
berstatus dan tidak dapat mengikat 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 sistem istio | Tugas incomplete/erroneous dalam namespace istio-system dapat
menyebabkan layanan istio-ingressgateway berada dalam status pending selamanya
dan tidak dapat mengikat
ke alamat IP eksternal. |
tugas apigee-resources-install dalam status salah/tertunda di namespace apigee-system | Tugas incomplete dalam namespace apigee-system dapat menyebabkan
Layanan istio- ingressgateway akan berada dalam status pending selamanya dan tidak dapat
untuk mengikat ke
alamat IP eksternal. |
Rentang alamat IP yang ditetapkan ke load balancer eksternal salah | Rentang alamat IP yang salah dapat dikonfigurasi di file istio-operator.yaml
menyebabkan layanan istio-ingressgateway masuk ke status pending
selamanya dan tidak dapat mengikat
ke alamat IP eksternal selama instalasi.
|
Penyebab: Tugas di namespace sistem istio dalam status salah/tertunda
Diagnosis
- Periksa status tugas di namespace
istio-system
menggunakan perintah berikut berikut:kubectl get jobs -n istio-system
- Status tugas harus
complete
. Jika status pekerjaan dalam statuserroneous/pending
, maka itulah penyebab masalah ini.
Resolusi
- Jika ada tugas yang berstatus
pending
atauerroneous
, hapus menggunakan perintah berikut:kubectl -n istio-system delete job JOB_NAME_FROM_STEP_1
- Jalankan ulang penginstalan dengan menerapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
Penyebab: tugas penginstalan apigee-resources-install di namespace sistem apigee mungkin dalam status yang salah
Diagnosis
- Periksa status tugas di namespace
apigee-system
menggunakan atribut perintah berikut:kubectl get jobs -n apigee-system
- Status tugas harus
complete
. Jika status pekerjaan dalamerroneous/pending
, maka itulah penyebab masalah ini. Hal berikut contoh output menunjukkan bahwa tugasapigee-resources-install
berhasil selesai.kubectl get jobs -n apigee-system NAME COMPLETIONS DURATION AGE apigee-resources-install 1/1 23s 16d
Resolusi
- Jika tugas tersebut berstatus
pending
atauerroneous
, hapus tugas tersebut menggunakan perintah berikut:kubectl -n apigee-system delete job JOB_NAME_FROM_STEP_1
- Jalankan ulang penginstalan dengan menerapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
Penyebab: Rentang alamat IP yang ditetapkan ke load balancer eksternal salah
Diagnosis
- Periksa alamat IP yang dikonfigurasi untuk load balancer di file
istio- operator.yaml
. Misalnya, cuplikan berikut menunjukkan lokasi pada 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 dengan ) dalam fileistio-operator.yaml
. Selama penginstalan ASM, load balancer dibuat dengan alamat IP yang dikonfigurasi dan berkabel untuk berkomunikasi dengan layananistio- ingressgateway
. Oleh karena itu, alamat IP yang dikonfigurasi harus benar dan yang dicadangkan untuk load balancer. - Libatkan tim jaringan Anda dan verifikasi bahwa alamat IP yang telah dikonfigurasi untuk
loadBalancerIP
benar. Jika itu salah, layanan load balancer tidak dapat mengikat ke alamat IP. Hal ini menyebabkan layananistio-ingressgateway
berada dalam statuspending
selamanya.
Resolusi
- Bekerja samalah dengan tim jaringan Anda dan konfigurasi alamat IP yang benar di file
istio- operator.yaml
. - Jalankan kembali
Penginstalan ASM dan terapkan file
overrides.yaml
:apigeectl apply -f overrides.yaml
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti instruksi di atas, kumpulkan informasi diagnostik, lalu hubungi Google Cloud Customer Care:
- ID Project Google Cloud
- Nama organisasi hybrid Apigee
- 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