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¶
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¶
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¶
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¶
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¶
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>