Como resolver problemas de configuração
Nesta seção, explicamos problemas comuns do Cloud Service Mesh e como resolvê-los. Se você precisar de mais ajuda, consulte Como receber suporte.
Verificando MembershipState
A qualquer momento, é possível verificar o status mais recente da malha executando o comando a seguir:
gcloud container fleet mesh describe
A saída é semelhante a:
...
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
...
Códigos de erro de MembershipState
Se o Cloud Service Mesh informar condições ao MembershipState de um cluster, isso pode significar que as configurações da malha (como recursos personalizados do Istio) não puderam ser aplicadas. As descrições de código de erro a seguir fornecem mais informações sobre como resolver esses problemas.
| Código do erro | Causa | Resolução |
|---|---|---|
CONFIG_APPLY_INTERNAL_ERROR |
Não foi possível aplicar uma ou mais configurações devido a um erro interno. | Entre em contato com o suporte ao cliente. |
QUOTA_EXCEEDED_* |
Uma ou mais configurações não foram aplicadas porque os recursos atingiram um limite de cota. | Consulte Cotas para informações sobre as cotas específicas e como aumentá-las. |
CONFIG_VALIDATION_ERROR |
Uma ou mais configurações não foram aplicadas devido a uma configuração inválida. | Os erros específicos são gravados nas configurações que os causaram. Mais informações sobre como diagnosticar esses erros estão descritas na seção Erros de validação de configuração. |
CONFIG_VALIDATION_WARNING |
Encontramos possíveis problemas em uma ou mais configurações. Elas podem não ter sido aplicadas e, se foram, podem causar um comportamento não intencional. | Mais informações sobre como diagnosticar esses erros estão descritas na seção Erros de validação de configuração. |
MULTICLUSTER_SECRET_WARNING |
O cluster está usando um segredo do Istio de vários clusters criado manualmente em vez de usar a API declarativa de vários clusters para descoberta de endpoints. | Mova a configuração de descoberta de endpoints de vários clusters para a implementação declarativa. Para mais informações, consulte a página Secrets de vários clusters. |
WORKLOAD_IDENTITY_REQUIRED |
A identidade da carga de trabalho não está ativada para o cluster ou pelo menos um dos pools de nós. | Ative a identidade da carga de trabalho no nível do cluster e do pool de nós. Para instruções, consulte a página Ativar a Identidade da carga de trabalho. |
MANAGED_CNI_NOT_ENABLED |
A CNI gerenciada não está ativada para este cluster. | Ative a CNI gerenciada para manter as práticas recomendadas na sua malha. Para mais informações, consulte a página Ativar a CNI gerenciada. |
NON_STANDARD_SIDECAR_BINARY_USAGE |
Um ou mais comandos nos contêineres do Istio estão usando binários diferentes de "envoy", "pilot_agent" ou "iptables". | Remova a dependência de binários sem suporte. Mais informações podem ser encontradas na página Uso de binários sem suporte. |
UNSUPPORTED_GATEWAY_CLASS_USAGE |
O cluster está configurado com classes de gateway (Istio e Anthos Service Mesh) que exigem migração para o gateway de entrada do Istio para se alinhar às práticas recomendadas. | Consulte as instruções detalhadas na documentação. |
UNSUPPORTED_MULTIPLE_CONTROL_PLANES |
O cluster provisionou vários canais do plano de controle. O Cloud Service Mesh é compatível apenas com um canal por cluster. | Para mais informações, consulte Corrigir vários planos de controle. |
REQUIRED_ORG_POLICY_DISABLED |
Uma política da organização desativada precisa ser ativada. | Desative essa política para o projeto e garanta a funcionalidade do Cloud Service Mesh. Para mais informações, consulte Como ativar uma política obrigatória da organização. |
Erros de validação de configuração
Os códigos CONFIG_VALIDATION_WARNING e CONFIG_VALIDATION_ERROR
indicam que foram encontrados problemas nas configurações da malha (recursos personalizados do Istio ou do Kubernetes) e que um subconjunto de configurações pode não ter sido aplicado corretamente.
Muitos detalhes de erros por recurso são gravados no recurso aplicável. O comando a seguir pode ser usado para localizar as configurações inválidas e ver as mensagens de erro específicas. Observação: esses erros são especificamente para recursos do Istio, e nem todos os erros de validação podem ser mostrados aqui.
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
A saída é semelhante a:
{
"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"
}
]
}