구성 문제 해결

이 섹션에서는 일반적인 Cloud Service Mesh 문제와 해결 방법을 설명합니다. 추가 지원이 필요하면 지원 받기를 참조하세요.

MembershipState 확인

언제든지 다음 명령어를 실행하여 메시의 최신 상태를 확인할 수 있습니다.

gcloud container fleet mesh describe

출력은 다음과 비슷합니다.

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

MembershipState 오류 코드

Cloud Service Mesh가 클러스터의 MembershipState에 조건을 보고한다면 메시 구성(예: Istio 커스텀 리소스)을 적용하지 못했다는 의미일 수 있습니다. 다음 오류 코드 설명에서는 해결 방법에 관한 자세한 정보를 제공합니다.

오류 코드 원인 해결 방법
CONFIG_APPLY_INTERNAL_ERROR 내부 오류로 인해 하나 이상의 구성을 적용하지 못했습니다. 고객 지원팀에 문의하세요.
QUOTA_EXCEEDED_* 리소스가 할당량 한도에 도달하여 하나 이상의 구성을 적용하지 못했습니다. 구체적인 할당량과 할당량 상향 조정 방법에 대한 자세한 내용은 할당량을 참조하세요.
CONFIG_VALIDATION_ERROR 잘못된 구성으로 인해 하나 이상의 구성을 적용할 수 없습니다. 특정 오류는 오류의 원인이 된 구성에 기록됩니다. 이를 진단하는 방법에 관한 자세한 내용은 구성 검증 오류 섹션을 참고하세요.
CONFIG_VALIDATION_WARNING 하나 이상의 구성에서 잠재적인 문제가 발생했습니다. 이러한 변경사항이 적용되지 않았을 수도 있으며, 적용되었더라도 의도치 않은 동작이 발생할 수 있습니다. 이를 진단하는 방법에 관한 자세한 내용은 구성 검증 오류 섹션을 참고하세요.
MULTICLUSTER_SECRET_WARNING 클러스터는 엔드포인트 검색에 선언적 멀티 클러스터 API를 사용하는 대신 수동으로 생성한 Istio 멀티 클러스터 비밀을 사용합니다. 멀티 클러스터 엔드포인트 검색 설정을 선언적 구현으로 이동합니다. 자세한 내용은 멀티 클러스터 보안 비밀 페이지를 참조하세요.
WORKLOAD_IDENTITY_REQUIRED 클러스터 또는 하나 이상의 노드 풀에 대해 워크로드 아이덴티티가 사용 설정되어 있지 않습니다. 클러스터 및 노드 풀 수준에서 워크로드 아이덴티티를 사용 설정합니다. 자세한 내용은 워크로드 아이덴티티 사용 설정 페이지를 참조하세요.
MANAGED_CNI_NOT_ENABLED 이 클러스터에 대해 관리형 CNI가 사용 설정되어 있지 않습니다. 관리형 CNI를 사용 설정하여 메시 내에서 권장사항을 유지하세요. 자세한 내용은 관리형 CNI 사용 설정 페이지를 참조하세요.
NON_STANDARD_SIDECAR_BINARY_USAGE Istio 컨테이너 내에서 하나 이상의 명령어가 `envoy`, `pilot_agent` 또는 `iptables` 이외의 바이너리를 사용하고 있습니다. 지원되지 않는 바이너리에 대한 종속 항목을 삭제합니다. 자세한 내용은 지원되지 않는 바이너리 사용 페이지를 참조하세요.
UNSUPPORTED_GATEWAY_CLASS_USAGE 권장사항에 따라 Istio 인그레스 게이트웨이로 마이그레이션해야 하는 게이트웨이 클래스 (Istio 및 Anthos Service Mesh)로 클러스터가 구성되어 있습니다. 자세한 안내는 문서를 참고하세요.

구성 검증 오류

CONFIG_VALIDATION_WARNING CONFIG_VALIDATION_ERROR 코드는 메시 구성(Istio 또는 Kubernetes 커스텀 리소스)에서 문제가 발견되었고 구성의 하위 집합이 올바르게 적용되지 않았을 수 있음을 나타냅니다.

많은 리소스별 오류 세부정보가 해당 리소스에 기록됩니다. 다음 명령어를 사용하여 잘못된 구성을 찾고 특정 오류 메시지를 볼 수 있습니다. (참고: 이 오류들은 Istio 리소스에 대한 것으로, 여기에 모든 검증 오류가 표시되지는 않을 수 있습니다.)

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

출력은 다음과 비슷합니다.

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