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:
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. |
Backend (BIND9 or PowerDNS) | Represents your existing DNS servers or DNS servers deployed on separate VMs of the MCP infrastructure nodes. |
All components except the backend can run on the MCP Virtualized Control Plane (VCP) as a part of the OpenStack API.