使用 Keystone 安装¶
Bifrost 现在可以安装和使用 keystone。为了在安装过程中启用此功能,必须将 enable_keystone 变量设置为 true,可以在 playbooks/inventory/group_vars/target 或在安装期间通过命令行设置。请注意,enable_keystone 和 noauth_mode 是互斥的,因此它们的值应该相反。例如
ansible-playbook -vvvv -i inventory/target install.yaml -e enable_keystone=true -e noauth_mode=false
但是,在安装之前,应该覆盖凭据,以便自定义部署以满足您的需求。至少,以下参数应该在生产环境中更改
admin_password引导用户的密码(默认情况下称为
admin)。default_password普通用户的密码(默认情况下称为
bifrost_user)。service_password服务之间通信的密码(绝不暴露给最终用户)。
如果未设置这些值中的任何一个,将在初始安装期间生成一个随机密码,并将其存储在控制器上的 ~/.config/bifrost 目录中相应的命名文件中(使用 password_dir 覆盖)。
有关可以覆盖的更多设置,请参阅以下文件
playbooks/roles/bifrost-ironic-install/defaults/main.ymlplaybooks/roles/bifrost-keystone-install/defaults/main.yml
TLS 注意事项¶
在使用 Keystone 时,请务必记住以下两个重要限制
从 Bifrost < 9.0(Ussuri 和早期 Victoria)升级时,无法启用 TLS。首先升级到 Bifrost >= 9.0,然后在单独的步骤中启用 TLS。
如果使用非标准位置(
/etc/bifrost/bifrost.crt)中的自定义 TLS 证书,从 TLS 环境自动更新到非 TLS 环境可能无法实现。在更新之前,您需要手动将目录中的身份端点从https更改为http。public端点 必须 最后 更新,否则您可能会被锁定在 keystone 之外。
使用现有的 Keystone¶
如果您选择使用现有的 keystone 安装 bifrost,这是可能的,但是尚未经过测试。在这种情况下,您需要通过 playbooks/roles/bifrost-ironic-install/defaults/main.yml 设置适当的默认值,这将是角色级别默认值的良好来源。理想情况下,在设置新默认值时,应该在 playbooks/inventory/group_vars/target 文件中设置它们。
创建 clouds.yaml¶
默认情况下,在 bifrost 安装期间,将写入一个文件到执行安装的用户的主目录。该文件位于 ~/.config/openstack/clouds.yaml。写入该文件的云名为 bifrost(对于普通用户)和 bifrost-admin(对于管理员)。
创建 openrc¶
同样默认情况下,在 bifrost 安装之后,并且在启用 keystone 时,将写入一个文件到用户的主目录,您可以使用该文件来设置当前 shell 中的适当环境变量,以便能够使用 OpenStack 工具
. ~/openrc bifrost
openstack baremetal driver list