第 3 章 安装和配置 DNS 服务
在部署或重新部署 Red Hat OpenStack Platform (RHOSP)时,您可以通过包含指定的环境文件来安装和配置 DNS 服务(指定)。用于部署 RHOSP director 的工具集使用编排服务(heat)环境模板和环境文件作为如何安装和配置 DNS 服务以及 RHOSP 部署的其余部分的计划。
在部署 DNS 服务时,director 会自动执行这些操作,如为主动高可用性模式启用 DNS 服务,并激活端口和浮动 IP 地址的自动化。director 还将 Networking 服务(neutron)配置为指向 DNS 服务中包含的 Unbound 解析器。
您可以通过在自定义 heat 环境文件中设置 UnboundForwardResolvers
来明确禁用 Unbound 解析器的配置。
您还可以通过为 director 提供必要的 DNS 服务器信息,将 DNS 服务与预先存在的 DNS 基础架构集成。
在 RHOSP 17.1 中,将 DNS 服务与预先存在的 DNS 基础架构集成是一个技术预览功能。
本节中包含的主题有:
3.1. 部署 DNS 服务 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenStack Platform (RHOSP) director 部署 DNS 服务(指定)。director 使用编排服务(heat)模板和环境文件,它们是 RHOSP 部署的一组计划。undercloud 导入这些计划,并按照说明安装和配置 DNS 服务和 RHOSP 部署。
先决条件
-
您必须是有权访问 RHOSP undercloud 的
stack
用户。
流程
- 如果您要将 DNS 服务器与预先存在的 DNS 基础架构集成,请访问 第 3.2 节 “使用预先存在的 BIND 9 服务器部署 DNS 服务”。
- 以 stack 用户身份登录 undercloud 主机。
提供 undercloud 凭证文件:
source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义环境 YAML 文件,其中包含
DesignateBindNSRecords
参数的声明,其值是位于 DNS 服务器(指定)池中的子区域的名字服务器记录(NS 记录):parameter_defaults: DesignateBindNSRecords: ['<NS_record_child-zone-1>', '<NS_record_child-zone-2>', '...']
parameter_defaults: DesignateBindNSRecords: ['<NS_record_child-zone-1>', '<NS_record_child-zone-2>', '...']
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
在本例中,DNS 池包含子区域:
ns1.sales.example.org.
、ns2.sales.example.org.
、parent zoneexample.org. 的 ns3.sales
.example.org。
parameter_defaults: DesignateBindNSRecords: ['ns1.sales.example.org.', 'ns2.sales.example.org.', 'ns3.sales.example.org.']
parameter_defaults: DesignateBindNSRecords: ['ns1.sales.example.org.', 'ns2.sales.example.org.', 'ns3.sales.example.org.']
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行部署命令,并包括核心 heat 模板、其他环境文件、
designate.yaml
环境文件以及包含池 NS 记录的文件。Example
openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/\ services/designate.yaml \ -e /home/stack/my_pool_ns_records.yaml
$ openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/\ services/designate.yaml \ -e /home/stack/my_pool_ns_records.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意director 在堆栈更新或升级过程中将各种 DNS 服务组件更新为最新的指定镜像。
验证
确认 DNS 服务已安装,并且定义了端点。
openstack endpoint list -c "Service Name" -c Enabled -c URL
$ openstack endpoint list -c "Service Name" -c Enabled -c URL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow