Designate 是提供 DNS 即服务的 OpenStack 组件,包括 OpenStack 云的域名注册以及区域和记录集管理。

部署 VMware Integrated OpenStack 后,可以启用 Designate 以提供 DNS 功能。启用或禁用 Designate 可能会暂时影响其他 OpenStack 服务。

有关 Designate 的详细信息,请参见 OpenStack Designate 文档,网址为:https://docs.openstack.org/designate/train

前提条件

VMware Integrated OpenStack 支持对 Designate 使用 Infoblox、Bind9、PowerDNS 和 Microsoft DNS 后端服务器。下面列出了每种 DNS 服务器类型的必备条件。

Infoblox:

  1. 确保 DNS 服务器可以与 VMware Integrated OpenStack API 访问网络通信。
  2. 在 Infoblox 服务器上,创建一个用户以供 Designate 使用。
  3. 创建一个为 Designate 区域提供服务的名称服务器组。
    1. 将 Designate mDNS 服务器设置为外部主服务器。
    2. 将负载均衡器节点的 eth1 接口上的所有 IP 地址设置为外部主地址。
    3. 添加一个网格成员作为网格辅助,然后为此成员选择 Lead Secondary 选项。
    4. 根据需要添加更多的网格辅助。

Bind9:

  1. 确保 DNS 服务器可以与 VMware Integrated OpenStack API 访问网络通信。
  2. 启用 rndc addzonerndc delzone 功能,以允许接收来自辅助节点的 NOTIFY 消息。在文本编辑器中打开 named.conf.optionsnamed.conf 并在 options 部分中添加以下行:
    allow-new-zones yes;
    allow-notify{any;};
  3. 重新启动 Bind9 服务器。

PowerDNS:

  1. 确保 DNS 服务器可以与 VMware Integrated OpenStack API 访问网络通信。
  2. pdns.conf 文件中启用 API。
  3. pdns.conf 文件中,添加 trusted-notification-proxy 参数并将其值设置为每个控制器节点的 eth1 接口的 IP 地址(用逗号分隔):
    trusted-notification-proxy=controller1-eth1-ip,...

Microsoft DNS:

  1. 确保 DNS 服务器可以与 VMware Integrated OpenStack API 访问网络通信。
  2. 在 Microsoft DNS 服务器上,添加入站规则,以允许通过 TCP 和 UDP 在端口 5358 上进行通信。
  3. 安装 Python 2.7、适用于 Python 2.7 的 Microsoft Visual C++ 编译器和 pip 程序包安装程序。
  4. 安装 Designate 版本 8.0.0。
    pip install designate==8.0.0
  5. 在名为 designate.conf 的文件中写入以下信息:
    [service:agent]
    backend_driver = msdns
    masters = mgmt-server-ip:53
  6. 以管理员身份打开命令提示符,然后使用 designate.conf 文件启动 Designate 代理:
    designate-agent --config-file path/designate.conf

    使用 Designate 时,Designate 代理必须保持打开。

过程

  1. admin 用户身份登录到 Integrated OpenStack Manager Web 界面。
  2. OpenStack 部署中,单击部署的名称,然后打开管理选项卡。
  3. 设置选项卡上,选择配置 Designate,然后单击启用
  4. 选择后端,然后输入所需的参数。
    • Infoblox 后端
      选项 说明

      DNS 服务器

      输入 Infoblox 服务器的 IP 地址。

      DNS 端口

      输入 Infoblox 服务器上用于 DNS 服务的端口。默认值是 53

      WAPI URL

      输入 Infoblox WAPI URL。默认值为 https://<infoblox-server>/wapi/v<wapi-version-major.minor>/

      例如:https://infoblox-server-example/wapi/v3.4/

      注: 该 URL 必须以斜杠 (/) 结尾。

      用户名

      输入供 Designate 访问 Infoblox API 的用户名。

      密码

      输入 Infoblox 用户名的密码。

      确认密码

      确认 Infoblox 用户名的密码。

      NS 组

      指定为 Designate 区域提供服务的名称服务器组。

    • Bind9 后端
      选项 说明

      DNS 服务器

      输入 Bind9 服务器的 IP 地址。

      DNS 端口

      输入 Bind9 服务器上用于 DNS 服务的端口。默认值是 53

      RNDC 主机

      输入远程名称守护进程控制 (Remote Name Daemon Control, RNDC) 服务器的 IP 地址。默认值为 Bind9 服务器的 IP 地址。

      RNDC 端口

      输入 RNDC 服务的端口。默认值为 953。

      RNDC 密钥

      输入 /etc/bind/rndc.key 文件的内容。

    • PowerDNS 后端
      选项 说明

      DNS 服务器

      输入 PowerDNS 服务器的 IP 地址。

      DNS 端口

      输入 PowerDNS 服务器上用于 DNS 服务的端口。默认值是 53

      API 端点

      输入 PowerDNS API 端点 URL。默认值为 http://{powerdns-server}:8081.

      API 密钥

      /etc/powerdns/pdns.conf 文件中输入 api-key 的值。

    • Microsoft DNS 后端
      选项 说明

      DNS 服务器

      输入 Microsoft DNS 服务器的 IP 地址。

      DNS 端口

      输入 Microsoft DNS 服务器上用于 DNS 服务的端口。默认值是 53

      代理服务器

      输入 Designate 代理正在其上运行的主机的 IP 地址。

      代理端口

      输入要用于 Designate 代理服务的端口。默认值是 5358

  5. 单击验证。验证完成后,单击确定

结果

租户现在即可使用 VMware Integrated OpenStack 仪表板创建 DNS 区域。有关说明,请参见《VMware Integrated OpenStack 管理指南》中的“创建 DNS 区域”。