5814793806
This is better practice and we should recommend this value set in the install guides. Host headers makes use of request host_url provided by Flask, instead of relying on the hard-coded url in the configuration. Change-Id: I9fbb71acd063d2034190e773f69f7a80275b2f3c
212 lines
6.2 KiB
ReStructuredText
212 lines
6.2 KiB
ReStructuredText
.. _install-rdo:
|
|
|
|
Install and configure for Red Hat Enterprise Linux and CentOS
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This section describes how to install and configure the DNS
|
|
service for Red Hat Enterprise Linux 7 and CentOS 7.
|
|
|
|
.. include:: common_prerequisites.rst
|
|
|
|
Install and configure components
|
|
--------------------------------
|
|
|
|
.. note::
|
|
|
|
Default configuration files vary by distribution. You might need
|
|
to add these sections and options rather than modifying existing
|
|
sections and options. Also, an ellipsis (``...``) in the configuration
|
|
snippets indicates potential default configuration options that you
|
|
should retain.
|
|
|
|
#. Install the packages:
|
|
|
|
.. code-block:: console
|
|
|
|
# yum install openstack-designate\*
|
|
|
|
#. Create a ``designate`` database that is accessible by the ``designate``
|
|
user. Replace ``DESIGNATE_DBPASS`` with a suitable password:
|
|
|
|
.. code-block:: console
|
|
|
|
# mysql
|
|
MariaDB [(none)]> CREATE DATABASE designate CHARACTER SET utf8 COLLATE utf8_general_ci;
|
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON designate.* TO 'designate'@'localhost' \
|
|
IDENTIFIED BY 'DESIGNATE_DBPASS';
|
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON designate.* TO 'designate'@'%' \
|
|
IDENTIFIED BY 'DESIGNATE_DBPASS';
|
|
|
|
#. Install the BIND packages:
|
|
|
|
.. code-block:: console
|
|
|
|
# yum install bind bind-utils
|
|
|
|
#. Create an RNDC Key:
|
|
|
|
.. code-block:: console
|
|
|
|
# rndc-confgen -a -k designate -c /etc/designate/rndc.key -r /dev/urandom
|
|
|
|
#. Add the following options in the ``/etc/named.conf`` file::
|
|
|
|
...
|
|
include "/etc/designate/rndc.key";
|
|
|
|
options {
|
|
...
|
|
allow-new-zones yes;
|
|
request-ixfr no;
|
|
listen-on port 53 { 127.0.0.1; };
|
|
recursion no;
|
|
allow-query { 127.0.0.1; };
|
|
};
|
|
|
|
controls {
|
|
inet 127.0.0.1 port 953
|
|
allow { 127.0.0.1; } keys { "designate"; };
|
|
};
|
|
|
|
#. Start the DNS service and configure it to start when the system boots:
|
|
|
|
.. code-block:: console
|
|
|
|
# systemctl enable named
|
|
|
|
# systemctl start named
|
|
|
|
#. Edit the ``/etc/designate/designate.conf`` file and
|
|
complete the following actions:
|
|
|
|
* In the ``[service:api]`` section, configure ``auth_strategy``:
|
|
|
|
.. code-block:: ini
|
|
|
|
[service:api]
|
|
listen = 0.0.0.0:9001
|
|
auth_strategy = keystone
|
|
enable_api_v2 = True
|
|
enable_api_admin = True
|
|
enable_host_header = True
|
|
enabled_extensions_admin = quotas, reports
|
|
|
|
* In the ``[keystone_authtoken]`` section, configure the following options:
|
|
|
|
.. code-block:: ini
|
|
|
|
[keystone_authtoken]
|
|
auth_type = password
|
|
username = designate
|
|
password = DESIGNATE_PASS
|
|
project_name = service
|
|
project_domain_name = Default
|
|
user_domain_name = Default
|
|
www_authenticate_uri = http://controller:5000/
|
|
auth_url = http://controller:5000/
|
|
memcached_servers = controller:11211
|
|
|
|
Replace ``DESIGNATE_PASS`` with the password you chose for the
|
|
``designate`` user in the Identity service.
|
|
|
|
* In the ``[DEFAULT]`` section, configure ``RabbitMQ``
|
|
message queue access:
|
|
|
|
.. code-block:: ini
|
|
|
|
[DEFAULT]
|
|
# ...
|
|
transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/
|
|
|
|
Replace ``RABBIT_PASS`` with the password you chose for the
|
|
``openstack`` account in RabbitMQ.
|
|
|
|
* In the ``[storage:sqlalchemy]`` section, configure database access:
|
|
|
|
.. code-block:: ini
|
|
|
|
[storage:sqlalchemy]
|
|
connection = mysql+pymysql://designate:DESIGNATE_DBPASS@controller/designate
|
|
|
|
Replace ``DESIGNATE_DBPASS`` with the password you chose for the
|
|
``designate`` database.
|
|
|
|
* Populate the designate database
|
|
|
|
.. code-block:: console
|
|
|
|
# su -s /bin/sh -c "designate-manage database sync" designate
|
|
|
|
#. Start the designate central and API services and configure them
|
|
to start when the system boots:
|
|
|
|
.. code-block:: console
|
|
|
|
# systemctl start designate-central designate-api
|
|
|
|
# systemctl enable designate-central designate-api
|
|
|
|
#. Create a pools.yaml file in ``/etc/designate/pools.yaml`` with the following
|
|
contents:
|
|
|
|
.. code-block:: yaml
|
|
|
|
- name: default
|
|
# The name is immutable. There will be no option to change the name after
|
|
# creation and the only way will to change it will be to delete it
|
|
# (and all zones associated with it) and recreate it.
|
|
description: Default Pool
|
|
|
|
attributes: {}
|
|
|
|
# List out the NS records for zones hosted within this pool
|
|
# This should be a record that is created outside of designate, that
|
|
# points to the public IP of the controller node.
|
|
ns_records:
|
|
- hostname: ns1-1.example.org.
|
|
priority: 1
|
|
|
|
# List out the nameservers for this pool. These are the actual BIND servers.
|
|
# We use these to verify changes have propagated to all nameservers.
|
|
nameservers:
|
|
- host: 127.0.0.1
|
|
port: 53
|
|
|
|
# List out the targets for this pool. For BIND there will be one
|
|
# entry for each BIND server, as we have to run rndc command on each server
|
|
targets:
|
|
- type: bind9
|
|
description: BIND9 Server 1
|
|
|
|
# List out the designate-mdns servers from which BIND servers should
|
|
# request zone transfers (AXFRs) from.
|
|
# This should be the IP of the controller node.
|
|
# If you have multiple controllers you can add multiple masters
|
|
# by running designate-mdns on them, and adding them here.
|
|
masters:
|
|
- host: 127.0.0.1
|
|
port: 5354
|
|
|
|
# BIND Configuration options
|
|
options:
|
|
host: 127.0.0.1
|
|
port: 53
|
|
rndc_host: 127.0.0.1
|
|
rndc_port: 953
|
|
rndc_key_file: /etc/designate/rndc.key
|
|
|
|
#. Update the pools:
|
|
|
|
.. code-block:: console
|
|
|
|
# su -s /bin/sh -c "designate-manage pool update" designate
|
|
|
|
#. Start the designate and mDNS services and configure them to start when the
|
|
system boots:
|
|
|
|
.. code-block:: console
|
|
|
|
# systemctl start designate-worker designate-producer designate-mdns
|
|
|
|
# systemctl enable designate-worker designate-producer designate-mdns
|