学习如何安装和配置 Designate,这是一个 OpenStack 的多租户 DNS 即服务(DNSaaS)。
Designate 是一个多租户的 DNS 即服务,它包括一个用于域名和记录管理的 REST API 和集成了 Neutron 的框架,并支持 Bind9。
DNSaaS 可以提供:
- 一个管理区域和记录的干净利落的 REST API
- 自动生成记录(集成 OpenStack)
- 支持多个授权名字服务器
- 可以托管多个项目/组织
这篇文章解释了如何在 CentOS 和 RHEL 上手动安装和配置 Designate 的最新版本,但是同样的配置也可以用在其它发行版上。
在 OpenStack 上安装 Designate
在我的 GitHub 仓库里,我已经放了 Ansible 的 bind 和 Designate 角色的示范设置。
这个设置假定 bing 服务是安装 OpenStack 控制器节点之外(即使你可以在本地安装 bind)。
1、在 OpenStack 控制节点上安装 Designate 和 bind 软件包:
# yum install openstack-designate-* bind bind-utils -y
2、创建 Designate 数据库和用户:
MariaDB [(none)]> CREATE DATABASE designate CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON designate.* TO \
'designate'@'localhost' IDENTIFIED BY 'rhlab123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON designate.* TO 'designate'@'%' \
IDENTIFIED BY 'rhlab123';
注意:bind 包必须安装在控制节点之外才能使 远程名字服务控制 Remote Name Daemon Control (RNDC)功能正常。
配置 bind(DNS 服务器)
1、生成 RNDC 文件:
rndc-confgen -a -k designate -c /etc/rndc.key -r /dev/urandom
cat