참고: 표준 서비스는 Anthos Service Mesh 버전 1.6.8 이상에서 자동으로 지원됩니다.
이 섹션에서는 일반적인 Anthos Service Mesh 문제와 해결 방법을 설명합니다. 추가 지원이 필요하면 지원 받기를 참조하세요.
메시의 클러스터가 이전 버전의 Anthos Service Mesh를 실행 중임
클러스터에 이전 버전의 ASM(1.6.8 미만)이 실행되거나 클러스터에 표준 서비스 컨트롤러가 사용 중지된 상태로 ASM이 실행되는 경우 해당 클러스터(및 여기에서 실행되는 서비스)가 Service Mesh UI에 표시되지 않습니다. 표준 서비스를 사용하려면 각 클러스터를 Anthos Service Mesh 1.6.8 이상으로 업그레이드하고 표준 서비스 컨트롤러가 포함된 기본 설치 옵션을 사용해야 합니다. 자세한 내용은 클러스터가 GKE에 있는 경우 Anthos Service Mesh를 최신 버전으로 업그레이드를, 또는 클러스터가 온프레미스인 경우 온프레미스에서 Anthos Service Mesh 업그레이드를 참조하세요.
또는 클러스터에 컨트롤러를 설치하지 않으려면 메시에 대해 관리형 표준 서비스 컨트롤러(현재 미리보기 상태)를 사용 설정할 수 있습니다.
표준 서비스 컨트롤러 사용 설정에 대한 자세한 내용은 표준 서비스 컨트롤러 사용 설정을 참조하세요.
정의된 SLO가 있는 서비스가 표준 서비스와 1:1로 매핑되지 않음
Anthos Service Mesh는 표준 서비스로 전환하기 전에 Kubernetes 서비스용 대시보드를 표시했습니다. Kubernetes 서비스와 기본 표준 서비스가 일치하는 경우도 있지만 Kubernetes 서비스가 해당 표준 서비스와 자동으로 일치되지 않거나, 기본 표준 서비스 경계가 바람직하지 않을 수 있습니다.
기본 서비스에서 기본 표준 서비스와 자동으로 일치될 수 없는 서비스 수준 목표(SLO)가 설정되어 있으면 마이그레이션할 수 없습니다. 표준 서비스를 사용하려면 문제가 있는 서비스의 SLO를 삭제해야 합니다. 원하는 경우 이전 SLO를 삭제하기 전에 해당 서비스와 가장 일치하는 표준 서비스의 새 SLO를 생성할 수 있습니다.
내 대시보드에 예상한 콘텐츠가 없음
Service Mesh 서비스 대시보드는 각각 서비스 메시의 표준 서비스로 범위가 지정되며, 여기서 표준 서비스는 모든 관련 워크로드, 리전 등을 포함하는 고수준 논리적 서비스 개념입니다.
기본적으로 각 워크로드 인스턴스의 기존 라벨(pod 또는 WorkloadEntry)은 표준 서비스를 정의하고 이러한 규칙을 낮은 우선순위로 따릅니다.
service.istio.io/canonical-name
라벨은 이미 명시적으로 설정되어 있습니다. 추가 작업은 발생하지 않습니다.- 그렇지 않으면
service.istio.io/canonical-name
라벨이 추가되고 값이app.kubernetes.io/name
라벨의 값으로 설정됩니다. - 그렇지 않으면
service.istio.io/canonical-name
라벨이 추가되고 값이app
라벨의 값으로 설정됩니다. - 그렇지 않으면
service.istio.io/canonical-name
라벨이 추가되고 값이 소유 워크로드의name
로 설정됩니다. 이 경우 pod가 단독으로 배포되는 경우 '소유 워크로드', 또는 고수준 조정을 사용하는 경우 배포, StatefulSet 등입니다.
Kubernetes 및 Kube Run/Knative의 대부분의 관용적 사용자의 경우 이러한 규칙이 이미 서비스 및 워크로드를 관리하는 방식에 직접 매핑됩니다.
하지만 일부 더 복잡한 커스텀 사례나 복잡한 사용 사례에서는 기본 휴리스틱으로 서비스가 적절히 캡처되지 않으며 결과적으로 Anthos Service Mesh 대시보드에 예상한 콘텐츠가 포함되지 않습니다.
이 문제는 표준 서비스 범위를 수동으로 정의하여 해결할 수 있습니다.
서비스 범위 수동으로 정의
가능한 경우 자동 기본 그룹화 메커니즘을 사용하는 것이 좋습니다. 하지만 이러한 기본 그룹화를 재정의하려면 Kubernetes pod 및 WorkloadEntry 구성에 service.istio.io/canonical-name
Kubernetes 라벨을 적용하면 됩니다.
자세한 내용은 표준 서비스 수동으로 정의를 참조하세요.