Kubernetes에서 Consul로 서비스 디스커버리

Kubernetes에서 Consul로 서비스 디스커버리 (Discover Services with Consul on Kubernetes)

이 페이지는 Kubernetes에서 실행할 때의 Consul 서비스 디스커버리 작업 개요를 제공해요. 기본적으로 KubeDNS를 사용해 서비스 디스커버리 작업을 수행해요.

출처: 문서

본문

이 페이지는 Kubernetes에서 실행할 때의 Consul 서비스 디스커버리 작업 개요를 제공해요.

기본적으로 KubeDNS를 사용해 서비스 디스커버리 작업을 수행해요. Consul의 서비스 메시 기능을 사용하면서 KubeDNS를 선호한다면 transparent proxy 모드로 서비스 온보딩을 참고해요.

소개 (Introduction)

Kubernetes 배포는 Consul의 서비스 디스커버리 기능을 지원해요. Kubernetes에서 Consul을 실행할 때 다음 서비스 디스커버리 전략 중 하나를 채택할 수 있어요:

kubectl exec 명령을 사용해 Consul 컨테이너에 직접 연결하고 Consul의 서비스 디스커버리 기능과 상호작용할 수도 있어요.

Consul의 서비스 메시가 활성화된 상태에서 KubeDNS를 사용한다면 서비스 간 허용적인(permissive) mTLS를 활성화하기 위해 transparent proxy 모드도 구성해야 해요.

애플리케이션 로드 밸런싱 (Application load balancing)

로드 밸런서는 수신 트래픽 요청을 받아 분산 네트워크의 서비스 인스턴스로 라우팅해 리소스 소비가 사용 가능한 인스턴스에 분산되고 개별 노드가 과중해지지 않도록 해요. Consul은 카탈로그와 Consul DNS에 등록된 정보를 사용해 트래픽을 정상 서비스 인스턴스로 보내 로드 밸런서로 기능해요. Consul은 NGINX와 HAProxy 같은 외부 로드 밸런서와도 통합할 수 있어요.

로드 밸런싱은 Consul의 서비스 디스커버리 기능의 핵심 구성 요소예요. 자세한 내용은 서비스 디스커버리 개요를 참고해요.

정적 조회 (Static lookups)

등록된 서비스와 특정 서비스 인스턴스에 대한 세부 사항을 조회하려면 Consul DNS를 사용해 정적 쿼리를 수행해 배포에 대한 A 및 SRV 레코드를 반환해요. Consul DNS를 사용하면 등록된 서비스의 정상 인스턴스 수와 서비스 이름 또는 사용자 정의 태그와 일치하는 노드의 네트워크 주소를 포함해 Consul 배포 전체에서 결과를 반환할 수 있어요.

Consul Enterprise는 가상 서비스와 동질성 그룹(sameness groups) 같은 Enterprise 기능에 대한 정적 조회를 활성화해요. 자세한 내용은 정적 DNS 쿼리 수행을 참고해요.

준비된 쿼리 (Prepared queries)

준비된 쿼리는 복잡한 서비스 쿼리를 등록하고 Consul DNS를 사용해 서비스에 대한 동적 조회를 수행할 수 있게 하는 구성이에요. 준비된 쿼리는 여러 태그로 필터링하고 접두사와 일치하는 서비스 반환 같은 고급 조회 시나리오를 가능하게 해요. 또한 준비된 쿼리를 사용해 데이터센터 간 서비스 장애 조치(failover) 시나리오를 구현할 수 있어요.

자세한 내용은 준비된 쿼리로 동적 서비스 조회 수행을 참고해요.

런타임별 사용 문서 (Runtime specific usage documentation)

런타임별 지침은 다음 페이지를 참고해요:

참조 문서 (Reference documentation)

Kubernetes에서 Consul의 서비스 디스커버리 기능과 관련된 참조 자료는 다음 페이지를 참고해요:

제약, 한계 및 문제 해결 (Constraints, limitations, and troubleshooting)

Consul의 서비스 디스커버리 기능을 사용할 때 오류가 발생하면 다음 기술적 제약 목록을 참고해요.

  • Consul의 DNS 및 서비스 디스커버리 기능은 기본적으로 활성화돼요. Consul 서비스 메시가 활성화되면 Consul의 transparent proxy를 구성해 CoreDNS 같은 기존 DNS를 사용할 수 있어요. 자세한 내용은 transparent proxy를 참고해요.
  • Consul의 서비스 메시가 활성화되면 Consul의 서비스 디스커버리 동작에 추가적인 영향을 미치는 구성 항목을 사용할 수 있어요:

더 알아보기 (Learn more)