Tidak ada konektivitas jaringan antara bidang runtime dan bidang kontrol

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

  1. 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.
  2. Tanyakan kepada tim infrastruktur dan jaringan Anda untuk mengetahui apakah cluster jaringan menggunakan server {i>forward proxy<i} untuk terhubung ke internet.

Resolusi

  1. Periksa dengan administrator jaringan dan tambahkan rute jaringan ke internet jika memungkinkan.
  2. 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

  1. 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.
  2. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka jaringan VPC

  3. Klik nama jaringan.
  4. Pada tab Subnets, di kolom Private Google Access, pastikan subnet yang relevan telah diaktifkan. Jika tidak, itu alasan kegagalan ini.

Resolusi

  1. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka jaringan VPC

  2. Klik nama jaringan.
  3. Klik nama subnet.
  4. Klik Edit.
  5. Pilih Akses Google Pribadi Aktif.
  6. 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:

  1. ID Project Google Cloud.
  2. Nama organisasi hybrid Apigee.
  3. Output dari perintah berikut yang dieksekusi pada semua node cluster Kubernetes:
    ping apigee.googleapis.com
    traceroute apigee.googleapis.com
    telnet apigee.googleapis.com 443
  4. File overrides.yaml, yang menyamarkan semua informasi sensitif.
  5. Status pod Kubernetes di semua namespace:
    kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
  6. 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/*