Risoluzione dei problemi di configurazione
Questa sezione spiega i problemi comuni di Cloud Service Mesh e come risolverli. Se hai bisogno di ulteriore assistenza, consulta la sezione Richiedere assistenza.
Checking MembershipState
In qualsiasi momento puoi controllare lo stato più recente della mesh eseguendo il comando seguente:
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 le configurazioni del 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 |
Impossibile applicare una o più configurazioni a causa di un errore interno. | Contatta l'assistenza clienti. |
QUOTA_EXCEEDED_* |
Una o più configurazioni non sono state applicate 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 |
Impossibile 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 diagnosticare questi errori, consulta la 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 sono stati applicati, potrebbero verificarsi comportamenti indesiderati. | Per ulteriori informazioni su come diagnosticare questi errori, consulta la sezione Errori di convalida della configurazione. |
MULTICLUSTER_SECRET_WARNING |
Il cluster utilizza un secret multicluster Istio creato manualmente anziché l'API multicluster dichiarativa per il rilevamento degli endpoint. | Sposta la configurazione del rilevamento degli endpoint multi-cluster nell'implementazione dichiarativa. Per ulteriori informazioni, consulta la pagina Multi-cluster Secrets. |
WORKLOAD_IDENTITY_REQUIRED |
Workload Identity non è abilitato per il cluster o per almeno uno dei pool di nodi. | Abilita Workload Identity a livello di cluster e pool di nodi. Per istruzioni, vedi la pagina Abilitare Workload Identity. |
MANAGED_CNI_NOT_ENABLED |
Managed CNI non è abilitato per questo cluster. | Abilita Managed CNI per mantenere le best practice all'interno della mesh. Per ulteriori informazioni, consulta la pagina Abilita CNI gestito. |
NON_STANDARD_SIDECAR_BINARY_USAGE |
Uno o più comandi all'interno dei container Istio utilizzano binari diversi da `envoy`, `pilot_agent` o `iptables`. | Rimuovi la dipendenza dai file binari non supportati. Per ulteriori informazioni, consulta la pagina Utilizzo di 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 saperne di più, consulta Correggere più control plane. |
Errori di convalida della configurazione
I codici CONFIG_VALIDATION_WARNING
e CONFIG_VALIDATION_ERROR
indicano che sono stati rilevati problemi nelle configurazioni mesh (risorse personalizzate Istio o 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: questi errori riguardano specificamente 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"
}
]
}