18.3. 指定 DNS 分配给端口的名称


当您启用 Red Hat OpenStack Platform (RHOSP)网络服务(neutron) DNS 为端口扩展(dns_domain_ports)时,您可以指定内部 DNS 分配给端口的名称。

您可以通过在 YAML 格式的环境文件中声明 RHOSP Orchestration (heat) NeutronPlugin Extensions 参数,为端口扩展启用 dns_domain。使用对应的参数 NeutronDnsDomain,您可以指定您的域名,该域名会覆盖默认值 openstacklocal。重新部署 overcloud 后,您可以使用 OpenStack 客户端端口命令( port setport create )来分配 端口名称

另外,当启用端口扩展的 dns_domain 时,Compute 服务会在引导虚拟机实例期间使用实例的 hostname 属性自动填充 dns_name 属性。在引导过程结束时,dnsmasq 会根据其实例主机名识别分配的端口。

流程

  1. 以 stack 用户身份登录 undercloud,再提供 stackrc 文件,以启用 director 命令行工具。

    示例

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap

  2. 创建自定义 YAML 环境文件(my-neutron-environment.yaml)。

    注意

    括号内的值是此流程中示例命令中使用的示例值。将这些示例值替换为适合您的站点的值。

    示例

    $ vi /home/stack/templates/my-neutron-environment.yaml
    Copy to Clipboard Toggle word wrap

    提示

    undercloud 包括一组编配服务模板,组成您的 overcloud 创建计划。您可以使用环境文件来自定义 overcloud 的各个方面,这些文件是 YAML 格式的文件,该文件会覆盖核心编排服务模板集合中的参数和资源。您可以根据需要纳入多个环境文件。

  3. 在 环境文件中,添加一个 parameter_defaults 部分。在本节下,为端口扩展名添加 dns_domain_ports

    示例

    parameter_defaults:
      NeutronPluginExtensions: "qos,port_security,dns_domain_ports"
    Copy to Clipboard Toggle word wrap

    注意

    如果您设置了 dns_domain_ports,请确保部署也没有使用 dns_domain,即 DNS 集成扩展。这些扩展不兼容,无法同时定义这两个扩展。

  4. 另外,在 parameter_defaults 部分中,使用 NeutronDnsDomain 参数添加您的域名(example.com)。

    示例

    parameter_defaults:
        NeutronPluginExtensions: "qos,port_security,dns_domain_ports"
        NeutronDnsDomain: "example.com"
    Copy to Clipboard Toggle word wrap

  5. 运行 openstack overcloud deploy 命令,并包括核心编配模板、环境文件和这个新环境文件。

    重要

    但是,环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。

    示例

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml
    Copy to Clipboard Toggle word wrap

验证

  1. 登录到 overcloud,并在网络 (public) 上创建一个新端口 (new_port)。为端口分配一个 DNS 名称(my_port)。

    示例

    $ source ~/overcloudrc
    $ openstack port create --network public --dns-name my_port new_port
    Copy to Clipboard Toggle word wrap

  2. 显示端口的详细信息(new_port)。

    示例

    $ openstack port show -c dns_assignment -c dns_domain -c dns_name -c name new_port
    Copy to Clipboard Toggle word wrap

    输出

    +-------------------------+----------------------------------------------+
    | Field                   | Value                                        |
    +-------------------------+----------------------------------------------+
    | dns_assignment          | fqdn='my_port.example.com',                  |
    |                         | hostname='my_port',                          |
    |                         | ip_address='10.65.176.113'                   |
    | dns_domain              | example.com                                  |
    | dns_name                | my_port                                      |
    | name                    | new_port                                     |
    +-------------------------+----------------------------------------------+
    Copy to Clipboard Toggle word wrap

    dns_assignment 下,端口的完全限定域名(fqdn)值包含 DNS 名称的连接(my_port)以及之前使用 NeutronDnsDomain 设置的域名(example.com)。

  3. 使用您刚才创建的端口(new_port)创建一个新虚拟机实例(my_vm)。

    示例

    $ openstack server create --image rhel --flavor m1.small --port new_port my_vm
    Copy to Clipboard Toggle word wrap

  4. 显示端口的详细信息(new_port)。

    示例

    $ openstack port show -c dns_assignment -c dns_domain -c dns_name -c name new_port
    Copy to Clipboard Toggle word wrap

    输出

    +-------------------------+----------------------------------------------+
    | Field                   | Value                                        |
    +-------------------------+----------------------------------------------+
    | dns_assignment          | fqdn='my_vm.example.com',                    |
    |                         | hostname='my_vm',                            |
    |                         | ip_address='10.65.176.113'                   |
    | dns_domain              | example.com                                  |
    | dns_name                | my_vm                                        |
    | name                    | new_port                                     |
    +-------------------------+----------------------------------------------+
    Copy to Clipboard Toggle word wrap

    请注意,计算服务将 dns_name 属性从其原始值(my_port)改为与端口关联的实例的名称(my_vm)。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat