第 13 章 使用 director Operator 更改服务帐户密码


Red Hat OpenStack Platform (RHOSP)服务和它们使用的数据库通过其身份服务(keystone)凭证进行身份验证。Identity 服务在初始 RHOSP 部署过程过程中生成这些 RHOSP 密码。您可能需要定期更新密码以进行威胁缓解或安全合规。您可以使用 director Operator (OSPdO)的原生工具在部署 RHOSP 环境后更改许多生成的密码。

您可以轮转与部署 Red Hat OpenStack Platform (RHOSP)环境的 director Operator (OSPdO)使用的 overcloud 服务帐户密码。

流程

  1. 创建当前 tripleo-passwords secret 的备份:

    $ oc get secret tripleo-passwords -n openstack -o yaml > tripleo-passwords_backup.yaml
  2. 创建名为 tripleo-overcloud-passwords_preserve_list 的纯文本文件,以指定以下服务的密码不应轮转:

    parameter_defaults
    BarbicanSimpleCryptoKek
    KeystoneCredential0
    KeystoneCredential1
    KeystoneFernetKey0
    KeystoneFernetKey1
    KeystoneFernetKeys
    CephClientKey
    CephClusterFSID
    CephManilaClientKey
    CephRgwKey
    HeatAuthEncryptionKey
    MysqlClustercheckPassword
    MysqlMariabackupPassword
    PacemakerRemoteAuthkey
    PcsdPassword

    如果有要保留密码的其他服务,您可以在此列表中添加其他服务。

  3. 创建一个密码参数文件 tripleo-overcloud-passwords.yaml,它列出了不应修改的密码:

    $ oc get secret tripleo-passwords -n openstack \
    -o jsonpath='{.data.tripleo-overcloud-passwords\.yaml}' \
    | base64 -d | grep -f ./tripleo-overcloud-passwords_preserve_list > tripleo-overcloud-passwords.yaml
  4. 验证 tripleo-overcloud-passwords.yaml 文件包含您不想轮转的密码。
  5. 更新 tripleo-password secret:

    $ oc create secret generic tripleo-passwords -n openstack \
    --from-file=./tripleo-overcloud-passwords.yaml \
    --dry-run=client -o yaml | oc apply -f -
  6. 创建 Ansible playbook 以使用 OpenStackConfigGenerator CRD 配置 overcloud。如需更多信息,请参阅使用 OpenStackConfigGenerator CRD 为 overcloud 配置创建 Ansible playbook
  7. 应用更新的配置。如需更多信息,请参阅使用 director Operator 应用 overcloud 配置

验证

将机密中的新 NovaPassword 与 Controller 节点上现在安装的内容进行比较。

  1. 从更新的 secret 获取密码:

    $ oc get secret tripleo-passwords -n openstack -o jsonpath='{.data.tripleo-overcloud-passwords\.yaml}' | base64 -d | grep NovaPassword

    输出示例:

    NovaPassword: hp4xpt7t2p79ktqjjnxpqwbp6
  2. 检索在 Controller 节点上运行的 Compute 服务(nova)的密码:

    1. 访问 openstackclient 远程 shell:

      $ oc rsh openstackclient -n openstack
    2. 确保您位于主目录中:

      $ cd
    3. 检索 Compute 服务密码:

      $ ansible -i /home/cloud-admin/ctlplane-ansible-inventory Controller -b -a "grep ^connection /var/lib/config-data/puppet-generated/nova/etc/nova/nova.conf"

      输出示例:

      172.22.0.120 | CHANGED | rc=0 >> connection=mysql+pymysql://nova_api:hp4xpt7t2p79ktqjjnxpqwbp6@172.17.0.10/nova_api?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo connection=mysql+pymysql://nova:hp4xpt7t2p79ktqjjnxpqwbp6@172.17.0.10/nova?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部