第 3 章 使用 novajoin 与 IdM 集成


novajoin 允许您在部署过程中使用 Red Hat Identity Manager (IdM)注册节点。因此,您可以将 IdM 功能与您的 OpenStack 部署集成,包括身份、kerberos 凭证和访问控制。

注意

通过 novajoin 的 IdM 注册目前仅适用于 undercloud 和 overcloud 节点。overcloud 实例的 novajoin 集成应该在以后的版本中被支持。

3.1. 在 undercloud 中安装并配置 novajoin

3.1.1. 将 undercloud 添加到 CA

在部署 overcloud 之前,您必须将 undercloud 添加到证书颁发机构(CA)中:

  1. 在 undercloud 节点上,安装 python-novajoin 软件包:

    $ sudo yum install python-novajoin
  2. 在 undercloud 节点上,运行 novajoin-ipa-setup 脚本,调整值以适合您的部署:

    $ sudo /usr/libexec/novajoin-ipa-setup \
        --principal admin \
        --password <IdM admin password> \
        --server <IdM server hostname> \
        --realm <overcloud cloud domain (in upper case)> \
        --domain <overcloud cloud domain> \
        --hostname <undercloud hostname> \
        --precreate

    在以下部分中,您将使用生成的一次性密码(OTP)注册 undercloud。

3.1.2. 将 undercloud 添加到 IdM

此流程使用 IdM 注册 undercloud,并配置 novajoin。在 undercloud.conf 中配置以下设置(在 [DEFAULT] 部分中):

  1. 默认情况下,禁用 novajoin 服务。启用它:

    [DEFAULT]
    enable_novajoin = true
  2. 您需要设置一个一次性密码(OTP),以使用 IdM 注册 undercloud 节点:

    ipa_otp = <otp>
  3. 确保 neutron 的 DHCP 服务器提供 overcloud 的域名与 IdM 域(您小写的 kerberos 域)匹配:

    overcloud_domain_name = <domain>
  4. 为 undercloud 设置适当的主机名:

    undercloud_hostname = <undercloud FQDN>
  5. 将 IdM 设置为 undercloud 的名称服务器:

    undercloud_nameservers = <IdM IP>
  6. 对于较大的环境,您需要查看 novajoin 连接超时值。在 undercloud.conf 中,添加对名为 undercloud-timeout.yaml 的新文件的引用:

    hieradata_override = /home/stack/undercloud-timeout.yaml

    undercloud-timeout.yaml 中添加以下选项。您可以指定超时值(以秒为单位),例如 5

    nova::api::vendordata_dynamic_connect_timeout: <timeout value>
    nova::api::vendordata_dynamic_read_timeout: <timeout value>
  7. 保存 undercloud.conf 文件。
  8. 运行 undercloud 部署命令,将更改应用到现有的 undercloud:

    $ openstack undercloud install

验证

  1. 检查 keytab 文件是否有 undercloud 的密钥条目:

     [root@undercloud-0 ~]# klist -kt
     Keytab name: FILE:/etc/krb5.keytab
     KVNO Timestamp           Principal
     ---- ------------------- ------------------------------------------------------
        1 04/28/2020 12:22:06 host/undercloud-0.redhat.local@REDHAT.LOCAL
        1 04/28/2020 12:22:06 host/undercloud-0.redhat.local@REDHAT.LOCAL
    
    
     [root@undercloud-0 ~]# klist -kt /etc/novajoin/krb5.keytab
     Keytab name: FILE:/etc/novajoin/krb5.keytab
     KVNO Timestamp           Principal
     ---- ------------------- ------------------------------------------------------
        1 04/28/2020 12:22:26 nova/undercloud-0.redhat.local@REDHAT.LOCAL
        1 04/28/2020 12:22:26 nova/undercloud-0.redhat.local@REDHAT.LOCAL
  2. 使用主机原则测试系统 /etc/krb.keytab 文件:

     [root@undercloud-0 ~]# kinit -k
     [root@undercloud-0 ~]# klist
     Ticket cache: KEYRING:persistent:0:0
     Default principal: host/undercloud-0.redhat.local@REDHAT.LOCAL
    
     Valid starting       Expires              Service principal
     05/04/2020 10:34:30  05/05/2020 10:34:30  krbtgt/REDHAT.LOCAL@REDHAT.LOCAL
    
     [root@undercloud-0 ~]# kdestroy
     Other credential caches present, use -A to destroy all
  3. 使用 nova 原则测试 novajoin /etc/novajoin/krb.keytab 文件:

     [root@undercloud-0 ~]# kinit -kt /etc/novajoin/krb5.keytab 'nova/undercloud-0.redhat.local@REDHAT.LOCAL'
     [root@undercloud-0 ~]# klist
     Ticket cache: KEYRING:persistent:0:0
     Default principal: nova/undercloud-0.redhat.local@REDHAT.LOCAL
    
     Valid starting       Expires              Service principal
     05/04/2020 10:39:14  05/05/2020 10:39:14  krbtgt/REDHAT.LOCAL@REDHAT.LOCAL
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.