9.9. 利用预置备节点创建 overcloud
overcloud 部署使用 第 7.12 节 “部署命令”中的标准 CLI 方法。对于预置备的节点,该部署命令需要使用来自核心 Heat 模板集的一些额外选项和环境文件:
-
--disable-validations
- 禁止对未用于预置备基础架构的服务执行基本的 CLI 验证功能,否则,部署将失败。 -
environments/deployed-server-environment.yaml
- 用于创建和配置预置备基础架构的主要环境文件。这种环境文件用OS::Heat::DeployedServer
资源代替OS::Nova::Server
资源。 -
environments/deployed-server-bootstrap-environment-rhel.yaml
-用于在预置备服务器上执行启动引导脚本的环境文件。此脚本安装额外软件包,并包括 overcloud 节点的基本配置。 -
environments/deployed-server-pacemaker-environment.yaml
- 用于在预置备 Controller 节点上进行 Pacemaker 配置的环境文件。此文件的注册资源的命名空间使用来自deployed-server/deployed-server-roles-data.yaml
的 Controller 角色名称,默认为ControllerDeployedServer
。 deployed-server/deployed-server-roles-data.yaml
- 一个示例自定义角色文件。这个文件复制了默认的roles_data.yaml
,且还为每个角色包括了disable_constraints: True
参数。这个参数在生成的角色模板中禁用编配限制。这些限制适用于预置备基础架构不使用的服务。如果您想使用自定义角色文件,请确保为每个角色包括
disable_constraints: True
参数:- name: ControllerDeployedServer disable_constraints: True CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRgw ...
以下命令是示例 overcloud 部署命令,且环境文件特定于预置备的架构:
$ source ~/stackrc (undercloud) $ openstack overcloud deploy \ [other arguments] \ --disable-validations \ -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-pacemaker-environment.yaml \ -e /home/stack/templates/hostname-map.yaml / -r /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-server-roles-data.yaml --overcloud-ssh-user stack \ --overcloud-ssh-key ~/.ssh/id_rsa \ [OTHER OPTIONS]
--overcloud-ssh-user
和 --overcloud-ssh-key
选项用于在配置阶段通过 SSH 连接每个 overcloud 节点,创建初始 tripleo-admin
用户,以及将 SSH 密钥注入 /home/tripleo-admin/.ssh/authorized_keys
。要注入 SSH 密钥,请为初始 SSH 连接注入包含 --overcloud-ssh-user
和 --overcloud-ssh-key
(默认为 ~/.ssh/id_rsa
)的凭据。为了避免暴露使用 --overcloud-ssh-key
选项指定的私钥,director 不会将该密钥传递给任何 API 服务,如 Heat 或 Mistral,而只有 director 的 openstack overcloud deploy
命令使用此密钥为 tripleo-admin
用户启用访问权限。