3.2. 使用预先存在的 BIND 9 服务器部署 DNS 服务
您可以使用 Red Hat OpenStack Platform (RHOSP) director 安装和配置 DNS 服务(指定),并将其与预先存在的 BIND 9 DNS 基础架构集成。director 使用编排服务(heat)模板和环境文件,它们是 RHOSP 部署的一组计划。您可以将有关 DNS 服务器的具体信息添加到 heat 环境文件中。undercloud 导入这些计划,并遵循相应的说明来安装和配置 RHOSP 和 DNS 服务,并将其与您的 DNS 基础架构集成。
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
先决条件
- 您有一个已存在的 DNS 基础架构,它依赖于 BIND 9 服务器。
- 确保您的 BIND 9 服务器满足 为 DNS 服务配置现有 BIND 服务器 中所述的配置。
-
您必须是有权访问 RHOSP undercloud 的
stack用户。
流程
- 如果您没有将 DNS 服务器与预先存在的 DNS 基础架构集成,请访问 第 3.1 节 “部署 DNS 服务”。
- 以 stack 用户身份登录 undercloud 主机。
提供 undercloud 凭证文件:
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义环境 YAML 文件。
Example
vi /home/stack/templates/my-designate-environment.yaml
$ vi /home/stack/templates/my-designate-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您的环境文件必须包含关键字
parameter_defaults和DesignateExternalBindServers。在DesignateExternalBindServers下的新行中,为每个 BIND 9 DNS 服务器添加 IP 地址和 Remote Name Daemon Control (RNDC)密钥。示例
在这个示例中,有两个预先存在的 BIND 9 服务器
203.0.113.3和203.0.113.4,分别带有 RNDC 键:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为
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环境文件和新的自定义环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。
Example
openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/\ services/designate.yaml
$ openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/\ services/designate.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意director 在堆栈更新或升级过程中将各种 DNS 服务组件更新为最新的指定镜像。