서비스 메시 L7 관측성

서비스 메시 L7 관측성 (Service Mesh L7 Observability)

이 문서는 서비스 메시의 L7 관측성 기능을 활용하기 위해 필요한 구성들을 설명해요. 사이드카 프록시 배포, 메트릭 전송 대상, 프로토콜·업스트림 정의 방법을 다룰게요.

출처: 문서

본문

서비스 메시의 L7 관측성 기능을 활용하려면 다음이 필요합니다:

  • 각 서비스와 함께 메트릭을 방출할 수 있는 사이드카 프록시를 배포합니다. Envoy를 일급(first class) 지원합니다.
  • 프록시가 수집한 메트릭을 보낼 위치를 정의합니다.
  • 각 서비스의 프로토콜을 정의합니다.
  • 각 서비스의 업스트림을 정의합니다.

Envoy를 사이드카 프록시로 사용한다면 클라이언트 에이전트에서 gRPC를 활성화해야 합니다. 메트릭 대상과 서비스 프로토콜을 정의하려면 구성 항목과 중앙 집중식 서비스 구성을 활성화하고 싶을 수 있습니다.

Kubernetes

Kubernetes를 사용한다면 Helm 차트가 관측성 활성화에 필요한 많은 구성을 단순화할 수 있습니다. 자세한 내용은 Kubernetes 관측성 문서를 참조하세요.

메트릭 전송 대상 (Metrics destination)

Envoy의 경우 메트릭 전송 대상은 프록시 구성 항목의 config 섹션에서 구성할 수 있습니다.

kind = "proxy-defaults"
name = "global"
config {
   "envoy_dogstatsd_url": "udp://127.0.0.1:9125"
}

다른 가능한 메트릭 sink는 Envoy 문서에서 찾을 수 있습니다.

서비스 프로토콜 (Service protocol)

service-defaults 구성 항목에서 모든 서비스 인스턴스에 대해 protocol을 지정할 수 있습니다. 또한 서비스 정의 파일에서 프록시를 정의·등록할 때 기본 프로토콜을 재정의할 수도 있습니다. 추가 정보는 Expose Paths 구성 참조를 참조하세요.

기본적으로 프록시는 L4 메트릭만 제공합니다. 프로토콜을 정의하면 프록시가 요청을 L7 프로토콜로 처리하고 L7 메트릭을 방출할 수 있습니다. 또한 프록시가 요청별 로드 밸런싱·라우팅 결정을 내릴 수 있게 해 줍니다.

서비스 업스트림 (Service upstreams)

서비스의 sidecar 등록에서 정의할 수 있는 프록시의 upstreams 사이드카 매개변수를 사용해 각 서비스에 대한 업스트림을 설정할 수 있습니다.

더 알아보기 (Learn more)