애플리케이션을 동적으로 구성하기
애플리케이션을 동적으로 구성하기
이 문서에서는 Consul이 네트워크에서 특정 변경 사항을 감지할 때 애플리케이션을 동적으로 구성하는 방법에 대한 개요를 설명해 드려요. 이러한 작업의 대부분은 Consul의 키/값(KV) 저장소에 의존합니다.
Consul이 실패한 헬스 체크나 증가한 네트워크 트래픽을 감지했을 때 인프라를 자동으로 배포하는 방법에 대한 정보는 Consul-Terraform-Sync 문서를 참고하세요.
출처: 문서
본문
소개
대규모로 Consul 배포를 관리하는 플랫폼 운영자는 애플리케이션이 변경될 때 갱신된 구성을 자동으로 생성하고 배포하는 프로세스를 필요로 해요. Consul의 KV 저장소를 사용해 Consul 에이전트 구성을 생성할 데이터를 저장하고, 에이전트가 변경 사항에 반응하여 커스텀 스크립트를 호출하도록 설정할 수 있습니다.
키/값 저장소
Consul에는 Consul 서버에 인덱싱된 객체를 저장하고 모든 Consul 에이전트가 접근할 수 있게 하는 내장 키/값 저장소가 포함되어 있어요. 고급 배포 전략은 Consul의 KV 저장소를 활용해 변경 사항을 감시하고, 분산 세마포어를 만들고, 자동화된 배포를 위한 구성 파일을 동적으로 생성합니다. Consul의 KV 저장소는 기본적으로 활성화되어 있어요. Consul KV API, CLI, UI는 이제 기능이 완성된(feature complete) 것으로 간주되며 향후 릴리스에서 새로운 기능 개발이 계획되어 있지 않습니다.
자세한 내용은 Consul 키/값(KV) 저장소 개요 문서를 참고하세요.
세션
Consul은 분산 락(distributed lock)을 만드는 데 사용할 수 있는 세션 메커니즘을 제공해요. 애플리케이션의 서비스 메시의 서비스들이 여러 노드에 걸쳐 운영될 때, 분산 락은 노드 간 트래픽을 제한하여 리소스 고갈과 애플리케이션 장애를 방지할 수 있습니다. 세션은 Consul의 KV 저장소의 데이터를 사용하도록 구성할 수 있어요.
자세한 내용은 세션 개요 문서를 참고하세요.
워치(Watches)
워치는 데이터센터의 키/값(KV) 저장소, 서비스, 노드, 헬스 체크, 이벤트의 업데이트를 감시할 수 있어요. 데이터가 변경되면 Consul이 HTTP 엔드포인트를 호출하거나 실행 파일을 실행할 수 있는 핸들러를 호출하도록, 에이전트 구성 파일에서 감시할 데이터 뷰를 구성할 수 있습니다.
자세한 내용은 워치 개요 문서를 참고하세요.
Consul 템플릿
Consul Template은 Consul의 KV 저장소와 카탈로그에 등록된 서비스의 데이터에 따라 구성 파일을 프로그래밍 방식으로 렌더링할 수 있게 해 주는 도구예요. 데이터센터의 관련 변경 사항에 따라 구성 파일을 갱신합니다. 이 도구는 Consul 바이너리의 일부가 아니므로 별도로 다운로드해서 설치해야 합니다.
자세한 내용은 Consul Template 개요 문서를 참고하세요.
네트워크 인프라 자동화
네트워크 인프라 자동화(NIA, Network Infrastructure Automation)는 서비스 변경으로 트리거되는 네트워크 인프라 장치의 동적 업데이트를 가능하게 해요. Consul-Terraform-Sync(CTS)는 서비스에 대한 네트워킹 정보를 포함하는 데이터 소스로 Consul을 사용하고 해당 서비스들을 감시합니다. Terraform은 기본 자동화 도구로 사용되며 Terraform 프로바이더 생태계를 활용하여 네트워크 인프라에 관련 변경 사항을 적용합니다.
Consul-Terraform-Sync는 Enterprise 라이선스가 필요해요. 자세한 내용은 네트워크 인프라 자동화 문서를 참고하세요.
지침
Consul의 KV 저장소를 사용하여 애플리케이션을 동적으로 구성하는 방법을 배우려면, 애플리케이션을 Consul에 통합하기 컬렉션의 튜토리얼을 완료해 보세요.
참고 문서
가장 숙련된 사용자는 사용 중인 구성 요소의 특정 부분에 대한 참고 정보를 빠르게 찾고 싶어 해요. 해당 주제에 대한 모든 관련 참조 페이지를 나열합니다.
- consul kv CLI 명령 참조
- /kv HTTP API 엔드포인트 참조
- 에이전트 구성 참조
제약, 한계 및 문제 해결
Consul KV 저장소를 사용할 때 오류가 발생한다면 다음의 기술적 제약 목록을 참고하세요.
- Consul KV와 그 API, CLI, UI 컨트롤은 기능이 완성된 것으로 간주돼요. 향후 Consul 릴리스에서 새로운 기능 개발이 계획되어 있지 않습니다.