1.3. DNS 서비스 구성 요소
RHOSO(Red Hat OpenStack Services on OpenShift) DNS 서비스(designate)는 RHOSO 컨트롤 플레인의 Pod에서 실행되는 여러 다른 서비스로 구성됩니다.
- API 지정(
designate-apiPod) - 사용자와 RHOSO Networking 서비스(neutron)를 지정하여 OpenStack 표준 REST API를 제공합니다. API는 RPC(원격 프로시저 호출)를 통해 중앙 서비스에 요청을 전송하여 요청을 처리합니다.
- 생산자(
designate-producerPod) -
지정에 따라 실행되는 주기적인 작업을 오케스트레이션합니다. 이러한 작업은 장기 실행 중이며, Ceilometer에 대해
dns.zone.exists를 발송하고 데이터베이스에서 삭제된 영역을 제거하고, 새로 고침 간격으로 보조 영역을 폴링하고, 지연된NOTIFY트랜잭션을 생성하고, 오류 상태에서 영역을 주기적으로 복구하는 등 잠재적으로 대규모 작업입니다. - Central (
designate-centralpod) - 영역 및 레코드 세트 생성, 업데이트 및 삭제를 오케스트레이션합니다. 중앙 서비스는 Designate API 서비스에서 보낸 RPC 요청을 수신하고 영구 스토리지를 조정하는 동안 필요한 비즈니스 논리를 데이터에 적용합니다.
- 작업자(
designate-workerPod) - 을 지정하는 DNS 서버의 드라이버에 인터페이스를 제공합니다. Worker 서비스는 designate 데이터베이스에서 서버 구성을 읽고 Producer에서 요청하는 주기적인 작업도 관리합니다.
- Mini DNS(
designate-mdnsPod) - 이름 서버에서 AXFR(권한 있는 전송) 요청을 관리합니다. Mini DNS 서비스는 지정 인프라 외부에서 호스팅되는 DNS 영역에 대한 DNS 정보도 가져옵니다.
그림 1.3. DNS 서비스 아키텍처
기본적으로 RHOSO에서 DNS 구성 요소는 BIND 9 및 unbound입니다.
- BIND 9 (바인 Pod
바인딩) - DNS 서비스에 대한 DNS 서버를 제공합니다. BIND는 DNS 소프트웨어의 오픈 소스 제품군이며, 특히 권한 있는 이름 서버 역할을 합니다.
unbound(바인드 Pod)- DNS 재귀 확인기의 역할을 수행하며, 이는 DNS 요청을 IP 주소로 변환하는 데 필요한 쿼리를 시작하고 정렬합니다. unbound는 DNS 서비스가 재귀 확인기로 사용하는 오픈 소스 프로그램입니다.
DNS 서비스는 oslo 호환 데이터베이스를 사용하여 서비스 간 통신을 용이하게 하기 위해 데이터 및 oslo 메시징을 저장합니다. API 프로세스는 로드 밸런서 뒤에 있는 종종 API 프로세스를 통해 고가용성 배포를 용이하게 하기 위해 DNS 서비스의 여러 인스턴스를 실행할 수 있습니다.