서비스 메시 프록시 배포
서비스 메시 프록시 배포 (Deploy Service Mesh Proxies)
이 주제는 Consul에서 서비스 메시 프록시를 생성, 등록, 시작하는 방법을 설명해요. 프록시가 Consul 기능을 어떻게 활성화하는지에 대한 추가 정보는 서비스 메시 프록시 개요를 참고해요.
출처: 문서
본문
이 주제는 Consul에서 서비스 메시 프록시를 생성, 등록, 시작하는 방법을 설명해요. 프록시가 Consul 기능을 어떻게 활성화하는지에 대한 자세한 내용은 서비스 메시 프록시 개요를 참고해요.
서비스 인스턴스의 사이드카로 프록시를 배포하는 방법은 사이드카 프록시 서비스 배포를 참고해요.
개요 (Overview)
서비스 메시 프록시를 배포하려면 다음 단계를 완료해요:
- 필수는 아니지만, 모든 Envoy 프록시에 대한 전역 통과(passthrough) 설정을 포함하는 proxy defaults 구성 항목을 생성할 수 있어요.
- 서비스 정의 파일을 만들고
proxy블록에서 프록시 구성을 지정해요. - API 또는 CLI를 사용해 서비스를 등록해요.
- 프록시 서비스를 시작해요. 프록시는 Consul에 등록된 서비스 목록에 나타나지만, 서비스 메시에서 트래픽 라우팅을 시작하기 전에 시작해야 해요.
요구 사항 (Requirements)
ACL이 활성화되어 있고 proxy defaults 구성 항목을 사용해 전역 Envoy 설정을 구성하려면 operator:write 권한이 있는 토큰을 제시해야 해요. 자세한 내용은 서비스 토큰 생성을 참고해요.
전역 Envoy 통과 설정 구성 (Configure global Envoy passthrough settings)
모든 Envoy 프록시에 대한 전역 통과 설정을 정의하려면 proxy defaults 구성 항목을 만들고 액세스 로그 구성 같은 기본 설정을 지정해요. service defaults 구성 항목은 proxy defaults를 재정의하고, 개별 서비스 구성은 두 구성 항목을 모두 재정의한다는 점에 유의하세요.
- proxy defaults 구성 항목을 만들고 다음 매개변수를 지정해요:
- 모든 프록시에 적용할 추가 설정을 구성해요. 구성 항목에서 사용할 수 있는 모든 설정에 대한 세부 사항은 Proxy defaults 구성 항목 참조를 참고해요.
/configHTTP API 엔드포인트를 호출하거나consul config writeCLI 명령을 실행해 구성을 적용해요. 다음 예시는 CLI를 사용해 로컬 HCL 파일에서 proxy defaults 구성 항목을 작성해요:
$ consul config write proxy-defaults.hcl
서비스 메시 프록시 정의 (Define service mesh proxy)
서비스 메시 프록시를 정의하려면 서비스 정의 파일을 만들고 다음 필드를 구성해요:
kind필드를connect-proxy로 설정해요. 선언할 수 있는 다른 종류의 프록시에 대한 정보는 서비스 구성 참조를 참고해요.name필드에 프록시 서비스의 이름을 지정해요. Consul은 같은 이름으로 부트스트랩하는 모든 프록시에 구성을 적용해요.proxy.destination_service_name필드에 프록시가 나타내는 서비스의 이름을 지정해요.- 구현하려는 추가 프록시 동작을
proxy블록에서 구성해요. port필드에 Consul에 등록된 다른 서비스가 프록시 서비스를 발견하고 연결할 수 있는 포트 번호를 지정해요. 여러 포트에서 실행되는 서비스에는ports매개변수를 대신 지정해요. 서비스가 서비스 메시 프로토콜을 통해 설정된 외부 연결만 허용하도록 하려면 모든 서비스가 루프백 주소에서만 연결을 받아들이도록 구성해야 해요.
모든 매개변수와 예시 구성에 대한 정보는 서비스 메시 프록시 구성 참조를 참고해요.
서비스 등록 (Register the service)
프록시 서비스를 등록하려면 서비스 정의를 Consul 에이전트에 제공해요. 프록시 서비스 등록에는 애플리케이션 서비스 등록과 동일한 방법을 사용할 수 있어요:
- 서비스 정의를 Consul 에이전트의 구성 디렉터리에 배치하고 에이전트를 시작, 재시작 또는 리로드해요. 기존 프록시 서비스를 변경할 때 이 방법을 사용해요.
consul services register명령을 사용해 실행 중인 Consul 에이전트에 프록시 서비스를 등록해요./agent/service/registerHTTP API 엔드포인트를 호출해 실행 중인 Consul 에이전트에 프록시 서비스를 등록해요.
지침은 서비스 및 헬스 체크 등록을 참고해요.
다음 예시에서 consul services register 명령은 proxy.hcl에 저장된 프록시 서비스를 등록해요:
$ consul services register proxy.hcl
프록시 시작 (Start the proxy)
Envoy는 시작하기 전에 부트스트랩 구성 파일이 필요해요. consul connect envoy 명령을 사용해 Envoy 부트스트랩 구성을 만들고 프록시 서비스를 시작해요. -proxy-id 옵션으로 시작하려는 프록시의 ID를 지정해요.
다음 예시 명령은 web-proxy 서비스에 대한 Envoy 프록시를 시작해요:
$ consul connect envoy -proxy-id=web-proxy
Consul에서 Envoy 프록시를 운영하는 방법에 대한 자세한 내용은 Envoy 프록시 참조를 참고해요.