[ English | Indonesia | русский ]
容器管理¶
使用 Ansible,OpenStack 的安装过程完全通过 YAML 编写的 playbook 自动化。安装完成后,可以通过 playbook 配置的设置进行更改和修改。服务和容器可以根据特定的环境需求进行调整。通过调整容器内的服务,或添加新的部署组来实现服务扩展。在完成更改和修改后,如果需要,也可以销毁容器。
扩展单个服务¶
单个 OpenStack 服务和其他开源项目服务在容器内运行。可以通过修改 /etc/openstack_deploy/openstack_user_config.yml 文件来扩展这些服务。
导航到
/etc/openstack_deploy/openstack_user_config.yml文件。访问配置文件的部署组部分。在部署组名称下方,添加一个亲和性值行来扩展 OpenStack 服务中的容器
infra_hosts: infra1: ip: 10.10.236.100 # Rabbitmq affinity: galera_container: 1 rabbit_mq_container: 2
在此示例中,
galera_container的容器值为一。实际上,任何不需要调整的容器都可以保持默认值一,并且不应将其调整到高于或低于一的值。默认情况下,每个容器的亲和性值设置为一。对于当扩展其他所需服务时,特定容器内的 OpenStack 服务将不需要的情况,请将亲和性值调整为零。
将
affinity配置下列出的容器数量更新为所需数量。上面的示例将galera_container设置为一,将rabbit_mq_container设置为二,从而扩展 RabbitMQ 服务,但 Galera 服务保持不变。更改配置后,运行适当的 playbook 命令以创建新的容器,并安装适当的服务。
例如,从
openstack-ansible/playbooks仓库运行 **openstack-ansible lxc-containers-create.yml rabbitmq-install.yml** 命令,以完成上述示例中描述的扩展过程$ cd openstack-ansible/playbooks $ openstack-ansible lxc-containers-create.yml rabbitmq-install.yml
销毁并重新创建容器¶
解决某些问题可能需要销毁一个容器,并从头开始重建该容器。可以使用 lxc-containers-destroy.yml 和 lxc-containers-create.yml 命令来销毁和重新创建容器。这些 Ansible 脚本位于 openstack-ansible/playbooks 仓库中。
导航到
openstack-ansible目录。运行 **openstack-ansible lxc-containers-destroy.yml** 命令,指定目标容器和要销毁的容器。
$ openstack-ansible lxc-containers-destroy.yml --limit "CONTAINER_NAME" $ openstack-ansible lxc-containers-create.yml --limit "CONTAINER_NAME"
将
CONTAINER_NAME替换为目标容器。