Risolvere i problemi di configurazione

Questa sezione illustra i problemi comuni di Cloud Service Mesh e come risolverli. Se hai bisogno di ulteriore assistenza, consulta la sezione Ricevere assistenza.

Controllo di MembershipState

Puoi controllare lo stato più recente della mesh in qualsiasi momento 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 MembershipState

Se Cloud Service Mesh segnala condizioni a MembershipState per un cluster, potrebbe significare che non è stato possibile applicare le configurazioni di Mesh (ad esempio le risorse personalizzate 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 sezione 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. Ulteriori informazioni su come diagnosticarli sono descritte nella sezione Errori di convalida della configurazione.
CONFIG_VALIDATION_WARNING Abbiamo riscontrato potenziali problemi in una o più configurazioni. Potrebbero non essere stati applicati e, se lo sono stati, potrebbero verificarsi comportamenti indesiderati. Ulteriori informazioni su come diagnosticarli sono descritte nella sezione Errori di convalida della configurazione.

Errori di convalida della configurazione

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

Molti dettagli sugli 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: si tratta di errori specifici 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"
    }
  ]
}