서비스 메시 문제 해결 개요

서비스 메시 문제 해결 개요 (Service Mesh Troubleshoot Overview)

이 주제는 Consul의 내장 서비스 간 문제 해결 기능에 대한 개요를 제공해요. 서비스 메시의 업스트림 서비스와 다운스트림 서비스 간 통신이 실패하면 consul troubleshoot 명령으로 일련의 자동화된 검증 테스트를 실행할 수 있어요.

출처: 문서

본문

이 주제는 Consul의 내장 서비스 간 문제 해결 기능에 대한 개요를 제공해요. 서비스 메시의 업스트림 서비스와 다운스트림 서비스 간 통신이 실패하면 consul troubleshoot 명령을 실행해 일련의 자동화된 검증 테스트를 시작할 수 있어요.

자세한 내용은 consul troubleshoot CLI 문서 또는 consul-k8s troubleshoot CLI 참조를 참고해요.

소개 (Introduction)

서비스 메시의 업스트림과 다운스트림 서비스 간 통신이 실패하면 헬스 체크 쿼리, UI 토폴로지 뷰, 에이전트 텔레메트리 메트릭을 포함한 Consul의 내장 기능 중 하나 이상을 사용해 원인을 수동으로 진단할 수 있어요.

consul troubleshoot 명령은 서비스 간 통신을 방해하는 문제를 발견할 수 있게 하는 여러 검사를 순서대로 수행해요. 이 프로세스는 Envoy 관리 인터페이스 API와 Consul API를 체계적으로 질의해 통신 실패의 원인을 파악해요.

문제 해결 명령은 다음 일반적인 문제를 확인해 서비스 간 통신을 검증해요:

  • 업스트림 서비스가 존재하지 않음
  • 하나 또는 두 호스트가 정상이 아님
  • 필터가 업스트림 서비스에 영향을 줌
  • CA가 만료된 mTLS 인증서를 보유함
  • 서비스가 만료된 mTLS 인증서를 보유함

Consul은 이러한 검증 검사의 결과와 함께 서비스 통신 실패를 해결하기 위한 제안된 조치를 터미널에 출력해요. 거부된 구성이나 연결 실패를 감지하면 Consul은 서비스에 대한 Envoy 메트릭도 출력해요.

서비스 메시의 Envoy 프록시 (Envoy proxies in a service mesh)

Consul은 업스트림 및 다운스트림 서비스의 사이드카로 배포된 Envoy 프록시를 확인해 서비스 메시의 통신을 검증해요. 따라서 문제 해결에는 Consul의 서비스 메시 기능이 활성화되어 있어야 해요.

Consul에서 Envoy 프록시 사용에 대한 자세한 내용은 서비스 메시를 위한 Envoy 프록시 구성을 참고해요.

기술적 제약 (Technical constraints)

서비스 간 통신 문제를 해결할 때 다음 제약 사항을 유의해요:

  • 문제 해결 도구는 서비스 의도(intentions)를 확인하지 않아요. 우선 순위 및 매칭 순서를 포함한 의도에 대한 자세한 내용은 서비스 메시 의도를 참고해요.
  • 문제 해결 도구는 다운스트림 서비스와 업스트림 서비스 사이의 하나의 직접 연결만 검증해요. 개별 업스트림 서비스에 대한 Envoy ID로 consul troubleshoot 명령을 실행해야 해요. 여러 연결을 동시에 검증하는 것은 지원하지 않아요.
  • 문제 해결 도구는 사이드카 프록시에 대한 Envoy 구성만 검증해요. 따라서 메시 게이트웨이와 터미네이팅 게이트웨이 같은 업스트림 프록시의 Envoy 구성은 검증하지 않아요.

더 알아보기 (Learn more)