Memahami Kondisi Status Fitur

Catatan: Layanan Kanonik didukung secara otomatis di Cloud Service Mesh versi 1.6.8 dan yang lebih baru.

Halaman ini menjelaskan cara menafsirkan dan menindaklanjuti Kondisi yang dilaporkan di cluster atau fleet Cloud Service Mesh Anda.

Untuk memeriksa kondisi, jalankan perintah ini:

  gcloud container fleet mesh describe --project FLEET_PROJECT

Output dapat menyertakan conditions di membershipStates untuk cluster, seperti:

  ...
  membershipStates:
    projects/test-project/locations/us-central1/memberships/my-membership:
      servicemesh:
        conditions:
          - code: <CONDITION_CODE>
            details: ...
            documentationLink: ....
            severity: ...

Nilai code dijelaskan secara lebih mendetail di halaman ini.

NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED

Anda mungkin melihat kode error NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED di kolom Conditions langganan Anda:

    membershipStates:
      projects/test-project/locations/us-central1/memberships/my-membership:
        servicemesh:
          conditions:
          - code: NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
            details: One or more node pools have workload identity federation disabled.
            documentationLink: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
            severity: ERROR
          controlPlaneManagement:
            details:
            - code: REVISION_FAILED_PRECONDITION
              details: Required in-cluster components are not ready. This will be retried
                within 15 minutes.
            implementation: TRAFFIC_DIRECTOR
            state: FAILED_PRECONDITION

Error ini ditampilkan jika cluster GKE tidak mengaktifkan Workload Identity Federation di semua kumpulan node cluster tersebut, karena ini adalah prasyarat untuk penginstalan Cloud Service Mesh.

Untuk mengatasi pesan error ini, Anda harus mengikuti petunjuk untuk Mengaktifkan Workload Identity Federation di semua node pool. Perhatikan bahwa pengaktifan dapat bervariasi bergantung pada kasus cluster tertentu Anda.

Setelah diaktifkan, pesan error akan otomatis dihapus dan cluster Anda akan kembali ke status ACTIVE. Jika masalah berlanjut dan Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.

MESH_IAM_PERMISSION_DENIED

Error ini menunjukkan bahwa akun layanan tidak memiliki izin yang memadai untuk mengakses project armada Anda. Ikuti langkah-langkah pemecahan masalah:

  1. Pastikan akun layanan Anda telah memberikan peran Anthos Service Mesh Service Agent. Untuk mengetahui detail tentang cara memverifikasi izin IAM dan menambahkannya, buka Pelaporan revisi sebagai error tidak sehat dan gunakan langkah-langkah yang sama di sana.

  2. Jika izin diverifikasi saat masalah berlanjut, hubungi dukungan pelanggan Google untuk mendapatkan bantuan lebih lanjut.

MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED

Error ini menunjukkan bahwa akun layanan project fleet tidak memiliki izin yang memadai untuk mengakses project lain (project cluster atau project jaringan).

Untuk VPC Bersama, pastikan untuk memberikan peran Anthos Service Mesh Service Agent akun layanan project fleet di project jaringan VPC Bersama.

Untuk skenario project fleet GKE dan project cluster, pastikan untuk memberikan peran Anthos Service Mesh Service Agent ke akun layanan project fleet di project cluster.

Contoh perintah pemecahan masalah:

  1. Pastikan apakah project jaringan atau akun layanan project cluster Anda telah memberikan peran Anthos Service Mesh Service Agent ke akun layanan project fleet. Jika tidak, jalankan:

    gcloud projects add-iam-policy-binding NETWORK_OR_CLUSTER_PROJECT_ID  \
        --member "serviceAccount:service-FLEET_PROJECT_NUMBER@gcp-sa-servicemesh." \
        --role roles/anthosservicemesh.serviceAgent
    

    Selain itu, pastikan Anda tidak memiliki otomatisasi yang akan menghapus binding ini.

  2. Jika izin diverifikasi saat masalah berlanjut, hubungi dukungan pelanggan Google untuk mendapatkan bantuan lebih lanjut.

CONFIG_VALIDATION_ERROR

Error ini menunjukkan bahwa beberapa konfigurasi terkait mesh yang diterapkan pada satu atau beberapa keanggotaan di fleet tidak berhasil diterapkan. Detail error menjelaskan cara terbaik bagi pengguna untuk mengatasinya.

  membershipStates:
    projects/test-project/locations/us-central1/memberships/my-membership:
      servicemesh:
        conditions:
        - code: CONFIG_VALIDATION_ERROR
          details: 'Unsupported ProxyConfig fields: [proxyconfig.statNameLength]'
          severity: ERROR
        controlPlaneManagement:

Error validasi konfigurasi untuk konfigurasi tertentu mewajibkan tindakan pengguna. Misalnya, error terkait penggunaan kolom API yang tidak didukung sebaiknya diatasi dengan menghapus konfigurasi yang melanggar dari Mesh API.

Di Cloud Console, buka Kubernetes Engine > Secrets & ConfigMaps > istio-asm-managed (nama ConfigMap bergantung pada saluran rilis yang Anda gunakan; misalnya, istio-asm-managed-stable atau istio-asm-managed-rapid), lalu pilih tab YAML.

Misalnya, meshConfig.configSources tidak lagi didukung:

apiVersion: v1
data:
  mesh: |
    enablePrometheusMerge: true
    trustDomain: "foobar.svc.id.goog"
    trustDomainAliases:
      - cluster.local

    configSources:
      - address: k8s://
      - address: fs:///var/lib/istio/config/data