Plan the Domain Name System

Plan the Domain Name System

MCP leverages the OpenStack Domain Name System as a Service component called Designate to provide DNS with integrated Keystone authentication for OpenStack environments. Designate uses the Galera MySQL cluster as the distributed database to provide a mapping of IP addresses to domain names and hosts to access the Internet.

Designate uses RESTful API for creating, updating, and deleting DNS zones and records of OpenStack environments. Designate integrates Nova and Neutron notifications for auto-generated records as well as uses different underlying DNS servers including BIND9 and PowerDNS that are supported by MCP.

Designate includes the following components:

Designate components
Component Description
designate-api Processes API requests by sending them to designate-central using the Remote Procedure Call (RPC) mechanism.
designate-central Handles RPC requests using message queueing, coordinates persistent storage, and applies business logic to data from designate-api. Storage is provided using the SQLAlchemy plugin supporting MySQL.
designate-worker Runs the zone create, zone update, and zone delete tasks as well as tasks from designate-producer.
designate-producer Manages periodic Designate tasks.
designate-pool-manager (Optional) Manages the states of the DNS servers that are handled by Designate.
designate-zone-manager (Optional) Handles all periodic tasks of the zone shard that designate-zone-manager is responsible for.
designate-mdns Pushes the DNS zone information to the customer-facing DNS servers. Can also pull information about the DNS zones hosted outside of the Designate infrastructure.
designate-sink Consumes the Nova and Neutron events and notifications to produce auto-generated records that are determined by custom notification handlers.
Back end (BIND9 or PowerDNS) Represents your existing DNS servers or DNS servers deployed on separate VMs of the MCP infrastructure nodes.

All components except the back end can run on the MCP Virtualized Control Plane (VCP) as a part of the OpenStack API.