运行 playbook

_images/installation-workflow-run-playbooks.png

安装过程需要运行三个主要的 playbook

  • openstack.osa.setup_hosts Ansible 基础 playbook 准备目标主机以用于基础设施和 OpenStack 服务,构建和重启目标主机上的容器,并在目标主机上的容器中安装常用组件。

  • openstack.osa.setup_infrastructure Ansible 基础设施 playbook 安装基础设施服务:Memcached、仓库服务器、Galera 和 RabbitMQ。

  • openstack.osa.setup_openstack OpenStack playbook 安装 OpenStack 服务,包括 Identity (keystone)、Image (glance)、Block Storage (cinder)、Compute (nova)、Networking (neutron) 等。

检查配置文件完整性

在运行任何 playbook 之前,请检查配置文件的完整性。

  1. 确保在 /etc/openstack_deploy 目录中编辑的所有文件都符合 Ansible YAML 语法

  2. 检查您的 YAML 文件的完整性。

    注意

    要在线检查您的 YAML 语法,您可以使用 YAML Lint 程序

  3. 运行以下命令

    # openstack-ansible openstack.osa.setup_infrastructure --syntax-check
    
  4. 重新检查所有缩进是否正确。这一点很重要,因为配置文件的语法可能正确,但对于 OpenStack-Ansible 而言可能没有意义。

运行 playbook 以安装 OpenStack

  1. 运行主机设置 playbook

    # openstack-ansible openstack.osa.setup_hosts
    

    确认成功完成,且没有无法访问或失败的项目

    PLAY RECAP ********************************************************************
    ...
    deployment_host                :  ok=18   changed=11   unreachable=0    failed=0
    
  2. 运行基础设施设置 playbook

    # openstack-ansible openstack.osa.setup_infrastructure
    

    确认成功完成,且没有无法访问或失败的项目

    PLAY RECAP ********************************************************************
    ...
    deployment_host                : ok=27   changed=0    unreachable=0    failed=0
    
  3. 运行以下命令以验证数据库集群

    注意

    为了运行 ad-hoc 命令,您需要从 openstack-ansible 仓库的位置(例如 /opt/openstack-ansible)执行命令,或者通过 source /usr/local/bin/openstack-ansible.rc 显式加载 Ansible 配置所需的环境变量。

    # ansible galera_container -m shell \
      -a "mariadb -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
    

    示例输出

    node3_galera_container-3ea2cbd3 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary
    
    node2_galera_container-49a47d25 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary
    
    node4_galera_container-76275635 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary
    

    wsrep_cluster_size 字段指示集群中的节点数量,wsrep_cluster_status 字段指示主节点。

  4. 运行 OpenStack 设置 playbook

    # openstack-ansible openstack.osa.setup_openstack
    

    确认成功完成,且没有无法访问或失败的项目。

注意

您还可以考虑应用强化角色来提高部署主机的安全性。有关更多详细信息,请参阅 应用 ansible-hardening