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.

Verifica di MembershipState in corso...

Puoi controllare lo stato più recente del mesh in qualsiasi momento eseguendo il seguente comando:

gcloud container fleet mesh describe

L'output è simile a questo:

...
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 le condizioni a MembershipState per un cluster, potrebbe significare che le configurazioni mesh (come le risorse personalizzate Istio) non sono state applicate. 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 Si sono verificati potenziali problemi in una o più configurazioni. Potrebbero non essere stati applicati e, se sono stati applicati, 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 mesh (Istio o risorse personalizzate Kubernetes) e che un sottoinsieme di configurazioni potrebbe non essere stato applicato correttamente.

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: si tratta di risorse specifiche per le risorse Istio e non tutti gli errori di convalida possono 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 a questo:

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