Risoluzione dei problemi di configurazione

Questa sezione descrive i problemi più comuni di Cloud Service Mesh e spiega come risolverli. Se hai bisogno di ulteriore assistenza, consulta Richiedere assistenza.

Controllare MembershipState

In qualsiasi momento puoi controllare lo stato più recente della mesh eseguendo il seguente comando:

gcloud container fleet mesh describe

L'output è simile al seguente:

...
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
...

Codici di errore di MembershipState

Se Cloud Service Mesh segnala condizioni a MembershipState per un cluster, potrebbe significare che non è stato possibile applicare le configurazioni della mesh (ad esempio le risorse personalizzate di Istio). Le seguenti descrizioni dei codici di errore forniscono ulteriori informazioni su come risolverli.

Codice di errore Causa Risoluzione
CONFIG_APPLY_INTERNAL_ERROR Non è stato possibile applicare una o più configurazioni a causa di un errore interno. Contatta l'assistenza clienti.
QUOTA_EXCEEDED_* Non è stato possibile applicare una o più configurazioni perché le risorse hanno raggiunto un limite di quota. Consulta la pagina Quote per informazioni sulle quote specifiche e su come aumentarle.
CONFIG_VALIDATION_ERROR Non è stato possibile applicare una o più configurazioni a causa di una configurazione non valida. Gli errori specifici vengono scritti nelle configurazioni che li hanno causati. Per ulteriori informazioni su come diagnosticarli, consulta la sezione Errori di convalida della configurazione.
CONFIG_VALIDATION_WARNING Abbiamo riscontrato potenziali problemi in una o più configurazioni. Queste potrebbero non essere state applicate e, se sono state applicate, potrebbero verificarsi comportamenti imprevisti. Per ulteriori informazioni su come diagnosticarli, consulta la sezione Errori di convalida della configurazione.
MULTICLUSTER_SECRET_WARNING Il cluster utilizza un secret multi-cluster di Istio creato manualmente anziché l'API multi-cluster dichiarativa per l'individuazione degli endpoint. Trasferisci la configurazione di individuazione degli endpoint multi-cluster all'implementazione dichiarativa. Per ulteriori informazioni, consulta la pagina Secret multi-cluster.
WORKLOAD_IDENTITY_REQUIRED Workload Identity non è abilitata per il cluster o per almeno uno dei pool di nodi. Abilita Workload Identity a livello di cluster e pool di nodi. Per istruzioni, consulta la pagina Abilitare Workload Identity.
MANAGED_CNI_NOT_ENABLED CNI gestito non è abilitato per questo cluster. Abilita CNI gestito per mantenere le best practice all'interno della mesh. Per ulteriori informazioni, consulta la pagina Abilitare CNI gestito.
NON_STANDARD_SIDECAR_BINARY_USAGE Uno o più comandi all'interno dei container Istio utilizzano file binari diversi da `envoy`, `pilot_agent` o `iptables`. Rimuovi la dipendenza dai file binari non supportati. Per ulteriori informazioni, consulta la pagina Utilizzo di file binari non supportati.
UNSUPPORTED_GATEWAY_CLASS_USAGE Il cluster è configurato con classi di gateway (Istio e Anthos Service Mesh) che richiedono la migrazione a Istio Ingress Gateway per allinearsi alle best practice. Per istruzioni dettagliate, consulta la documentazione
UNSUPPORTED_MULTIPLE_CONTROL_PLANES Il cluster ha eseguito il provisioning di più canali del control plane. Cloud Service Mesh supporta un solo canale per cluster. Per ulteriori informazioni, consulta Risolvere il problema di più control plane.
REQUIRED_ORG_POLICY_DISABLED È necessario abilitare una policy dell'organizzazione disabilitata. Disattiva questa policy per il progetto per garantire la funzionalità di Cloud Service Mesh. Per ulteriori informazioni, consulta Abilitare una policy dell'organizzazione obbligatoria.

Errori di convalida della configurazione

I codici CONFIG_VALIDATION_WARNING e CONFIG_VALIDATION_ERROR indicano che sono stati riscontrati problemi nelle configurazioni della mesh (risorse personalizzate di Istio o Kubernetes Custom Resources) e che un sottoinsieme di configurazioni potrebbe non essere stato applicato correttamente applied.

Molti dettagli degli errori per risorsa vengono scritti nella risorsa applicabile. Il seguente comando può essere utilizzato per individuare le configurazioni non valide e visualizzare i messaggi di errore specifici. (Nota: questi sono specificamente per le risorse Istio e non tutti gli errori di convalida potrebbero essere visualizzati qui).

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

L'output è simile al seguente:

{
  "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"
    }
  ]
}