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