Menyelesaikan masalah konfigurasi

Bagian ini menjelaskan masalah umum Cloud Service Mesh dan cara mengatasinya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.

Memeriksa MembershipState

Anda dapat memeriksa status terbaru mesh kapan saja dengan menjalankan perintah berikut:

gcloud container fleet mesh describe

Outputnya mirip dengan:

...
membershipSpecs:
  projects/project_id/locations/global/memberships/cluster:
    mesh:
      management: MANAGEMENT_AUTOMATIC
membershipStates:
  projects/project_id/locations/global/memberships/cluster:
    servicemesh:
      ...
      conditions:
        - code: CONFIG_VALIDATION_WARNING
          documentationLink: https://cloud.google.com/...
          details: Application of one or more configs has failed. Error details are shown on individual config resources. See documentation link for more detail.
          severity: WARNING
...

Kode Error MembershipState

Jika Cloud Service Mesh melaporkan kondisi ke MembershipState untuk suatu cluster, bisa jadi konfigurasi Mesh (seperti Resource Kustom Istio) tidak dapat diterapkan. Deskripsi kode error berikut memberikan informasi lebih lanjut tentang cara mengatasinya.

Kode Error Penyebab Resolusi
CONFIG_APPLY_INTERNAL_ERROR Satu atau beberapa konfigurasi gagal diterapkan karena terjadi error internal. Harap hubungi dukungan pelanggan.
QUOTA_EXCEEDED_* Satu atau beberapa konfigurasi gagal diterapkan karena resource mencapai batas kuota. Lihat Kuota untuk mengetahui informasi tentang kuota tertentu dan cara meningkatkannya.
CONFIG_VALIDATION_ERROR Satu atau beberapa konfigurasi gagal diterapkan karena konfigurasi tidak valid. Error tertentu ditulis ke konfigurasi yang menyebabkannya. Informasi selengkapnya tentang cara mendiagnosis masalah ini dijelaskan di bagian: Error Validasi Konfigurasi.
CONFIG_VALIDATION_WARNING Kami mengalami potensi masalah pada satu atau beberapa konfigurasi. Hal ini mungkin belum diterapkan, dan jika sudah diterapkan, mungkin terdapat perilaku yang tidak diinginkan. Informasi selengkapnya tentang cara mendiagnosis masalah ini dijelaskan di bagian: Error Validasi Konfigurasi.

Error Validasi Konfigurasi

Kode CONFIG_VALIDATION_WARNING dan CONFIG_VALIDATION_ERROR menunjukkan adanya masalah pada konfigurasi mesh (Resource Kustom Kubernetes atau Istio) dan bahwa subset konfigurasi mungkin tidak diterapkan dengan benar.

Banyak detail error per-resource yang ditulis ke resource yang berlaku. Perintah berikut dapat digunakan untuk menemukan konfigurasi yang tidak valid dan melihat pesan error tertentu. (Catatan: ini khusus untuk resource Istio, dan tidak semua error validasi dapat ditampilkan di sini).

for resource in serviceentries destinationrules virtualservices gateways peerauthentications authorizationpolicies requestauthentications sidecars telemetries envoyfilters;
  do kubectl get $resource --all-namespaces --output=json | \
   jq  '.items[] | select(.status.conditions != null and any(.status.conditions[]; .type == "Accepted" and .status == "False")) | {"name": .metadata.name, "namespace": .metadata.namespace, "kind": .kind, "conditions": .status.conditions}';
done

Outputnya mirip dengan:

{
  "name": "demo-envoy-filter",
  "namespace": "default",
  "kind": "EnvoyFilter",
  "conditions": [
    {
      "lastTransitionTime": "2024-04-04T21:10:18.046975988Z",
      "message": "This API is not supported",
      "reason": "Invalid",
      "status": "False",
      "type": "Accepted"
    }
  ]
}