High Availability Guide

High Availability Guide

Designate supports running all of its components services in “active-active” HA modes.

Some services require some extra setup to ensure that they can work in active-active, and the services are listed below.

designate-api

Needs Access to:

  • AMQP
blockdiag L7 Load Balancer AMQP Servers API Server 1 API Server 2 API Server 3 API Servers

Notes

To run multiple designate-api services, you should run the services behind a load balancer.

When behind the load balancer, you may need to set the following:

[service:api]
api_base_uri = http://<load balancer URI>/
enable_host_header = True

Or the following:

[oslo_middleware]
enable_proxy_headers_parsing = true

And then the load balancer to set appropriate headers (e.g. enable mod_proxy in apache.)

designate-central

Needs Access to:

  • AMQP
  • Database
blockdiag AMQP Servers Database Servers designate-central Server 1 designate-central Server 2 designate-central Server 3 designate-central Servers

Notes

You can run as many designate-central services as needed, as long as they all have access to the AMQP server(s), work will be distributed across all of them.

designate-mdns

Needs Access to:

  • AMQP
  • Database
  • DNS Servers
blockdiag AMQP Servers DNS Servers Database Servers designate-mdns Server 1 designate-mdns Server 2 designate-mdns Server 3 designate-mdns Servers

Notes

You can run as many designate-mdns services as needed, as long as they all have access to the AMQP server(s), work will be distributed across all of them.

designate-worker

Needs Access to:

  • AMQP
  • DNS Servers
blockdiag AMQP Servers DNS Servers designate-worker Server 1 designate-worker Server 2 designate-worker Server 3 designate-worker Servers

Notes

You can run as many designate-worker services as needed, as long as they all have access to the AMQP server(s), work will be distributed across all of them.

designate-producer

Needs Access to:

  • AMQP
  • DLM
blockdiag AMQP Servers DLM Servers designate-producer Server 1 designate-producer Server 2 designate-producer Server 3 designate-producer Servers

Notes

You can run as many designate-producer services as needed, as long as they all have access to the AMQP server(s), and a distributed lock manager, work will be sharded across all the services.

You will need to set a coordination backend_url. This needs to be a DLM that is supported by tooz, that supports group membership. See tooz driver list for available drivers

Warning

Failure to set a backend_url can cause unexpected consequences, and may result in some periodic tasks being ran more than once.

[coordination]
backend_url = kazoo://<zookeeper url>:<zookeeper port>

designate-sink

Needs Access to:

  • AMQP
blockdiag AMQP Servers designate-sink Server 1 designate-sink Server 2 designate-sink Server 3 designate-sink Servers

Notes

You can run as many designate-sink services as needed, as long as they all have access to the AMQP server(s), work will be distributed across all of them.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.