[ English | Indonesia | русский ]

添加一个新的基础设施主机

虽然建议使用三个基础设施主机,但如果环境需要更多主机,则可以创建额外的节点。

警告

在添加任何新节点之前,请务必备份您当前的 OpenStack 环境。有关更多信息,请参阅 备份和恢复您的云

  1. 将节点添加到 infra_hosts 段落的 /etc/openstack_deploy/openstack_user_config.yml

    infra_hosts:
    [...]
      infra<node-ID>:
        ip: 10.17.136.32
    
  2. 切换到部署主机上的 playbook 文件夹

    # cd /opt/openstack-ansible
    
  3. 要准备新的主机并在其上部署容器,请运行 setup-hosts.yml:带有 limit 参数的 playbook。

    # openstack-ansible openstack.osa.setup_hosts --limit localhost,infra<node-ID>,infra<node-ID>-host_containers
    
  4. 如果您依赖 /etc/hosts 内容,您还应该为所有主机更新它

    # openstack-ansible openstack.osa.openstack_hosts_setup -e openstack_hosts_group=all --tags openstack_hosts-file
    
  5. 接下来,我们需要扩展 Galera/RabbitMQ 集群,这将在 setup-infrastructure.yml 中完成。因此,我们将运行此 playbook 而不使用限制

    警告

    确保来自新基础设施主机的容器不会作为 galera_allrabbitmq_allrepo_all 组的第一个容器出现。您可以使用 ad-hoc 命令进行验证

    # ansible -m debug -a "var=groups['galera_all'][0]" localhost
    # ansible -m debug -a "var=groups['rabbitmq_all'][0]" localhost
    # ansible -m debug -a "var=groups['repo_all'][0]" localhost
    
    # openstack-ansible openstack.osa.setup_infrastructure -e galera_force_bootstrap=true
    
  6. 一旦基础设施 playbook 完成,就轮到部署 OpenStack 服务了。大多数服务都可以使用限制运行,但有些,比如 keystone,则不行。因此,我们单独运行 keystone playbook,与其他 playbook 分开

    # openstack-ansible openstack.osa.keystone
    # openstack-ansible openstack.osa.setup_openstack --limit '!keystone_all',localhost,infra<node-ID>,infra<node-ID>-host_containers
    

测试新的基础设施节点

创建新的基础设施节点后,通过启动新的实例来测试节点是否正确运行。确保新节点可以通过 ping 命令响应网络连接测试。登录到您的监控系统,并验证监控系统是否为新节点返回绿色信号。