OpenStack安装时Compute节点连不上RabbitMQ

在CentOS + OpenStack Liberty环境下,Compute节点无法连接到Controller的RabbitMQ,尽管Controller上的Nova服务能正常连接。问题主要由Iptables引起,而非Selinux或Firewall。为保持OpenStack的安全机制,正确做法是配置Iptables允许RabbitMQ的5672端口转发。在Ubuntu和CentOS上分别进行Iptables设置并重启,然后关闭防火墙,以解决Compute节点连通Controller的RabbitMQ和网页访问Dashboard的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的环境:CentOS + OpenStack Liberty
compute节点连不上controller的rabbitmq。但是controller上的nova服务可以连接上,rabbitmq也正常

log如下:

18-1041-481c-9fb7-91ffe8b6dfdd - - - - -] AMQP server on controller:5672 is unreachable: [Errno 113] EHOSTUNREACH. Trying again in 2 seconds.
2016-04-12 05:51:33.132 10797 
<think>好的,我需要帮助用户找到适用于controller节点compute节点OpenStack云平台安装脚本软件包。根据用户提供的引用内容,他们可能已经进行了一些配置步骤,比如Horizon的配置、网络创建以及ML2插件的设置。现在需要找到合适的安装脚本或软件包来完成整个OpenStack安装。 首先,我应该回忆OpenStack常见的自动化安装工具。常见的工具有DevStack、Kolla-Ansible、OpenStack-Ansible、Puppet-OpenStack和TripleO。用户需要的是适用于controller和compute节点安装脚本,因此可能需要一个支持多节点部署的工具。 DevStack主要用于快速单节点部署,适合开发和测试,但不太适合生产环境的多节点部署,所以可能不符合用户需求。Kolla-Ansible使用容器化部署,适合生产环境,支持多节点,用户可能需要这个。OpenStack-Ansible是官方推荐的,用Ansible部署,支持分离的controller和compute节点。TripleO则更复杂,用于大规模部署,可能对新手不太友好。 根据用户提供的引用,他们在配置horizon修改了local_settings.py,引用了admin-openrc环境变量,并且配置了neutron的ML2插件。这些步骤与手动安装或使用Ansible脚本的步骤相符。比如引用[1]中的配置文件和引用[2]中的网络创建命令,这些通常在安装过程中需要手动执行,但如果有自动化脚本,可能可以集成这些步骤。 因此,推荐用户使用OpenStack-Ansible或Kolla-Ansible,因为它们支持多节点部署,并且有详细的文档。同,用户也可以参考官方文档中的手动安装步骤,结合脚本来自动化部分流程。需要确保用户根据具体的OpenStack版本选择对应的安装工具和脚本,同注意环境兼容性,如操作系统版本和依赖项。 另外,用户提供的引用中涉及的具体配置,如网络设置和安全组,可能在安装脚本中有相应的模板或变量需要配置。比如在Ansible playbook中定义网络参数,或者使用环境变量来设置控制器节点的IP地址。需要指导用户如何调整这些参数以适应他们的环境。 最后,可能需要提醒用户备份现有配置,并在部署前验证网络和硬件兼容性,以避免安装过程中出现冲突或错误。</think>为部署OpenStack云平台的controller节点compute节点,推荐以下安装工具及脚本资源: ### 一、自动化安装工具推荐 1. **OpenStack-Ansible (OSA)** - 官方提供的Ansible部署框架,支持多节点架构 - 包含预定义的controller/compute角色配置 - 示例仓库: ```bash git clone https://opendev.org/openstack/openstack-ansible ``` 引用[1]中提到的`/etc/openstack-dashboard/local_settings.py`配置可通过`openstack-ansible/playbooks/roles/horizon/templates/local_settings.py.j2`模板自动生成[^1] 2. **Kolla-Ansible** - 基于容器化部署的生产级方案 - 通过`inventory`文件定义节点角色: ```ini [control] controller ansible_host=192.168.1.10 [compute] compute1 ansible_host=192.168.1.11 ``` 引用[3]中的ML2插件配置可通过`kolla-ansible/ansible/roles/neutron/templates/ml2_conf.ini.j2`模板实现[^3] ### 二、关键软件包列表 | 节点类型 | 必需软件包 | |------------|----------------------------| | Controller | mariadb-server, rabbitmq-server, keystone, glance, nova-api, neutron-server | | Compute | nova-compute, neutron-linuxbridge-agent | 可通过以下命令快速安装基础组件(适用于Ubuntu): ```bash # Controller节点 sudo apt install -y python3-openstackclient mariadb-server rabbitmq-server keystone glance nova-api neutron-server # Compute节点 sudo apt install -y nova-compute neutron-linuxbridge-agent ``` 引用[2]中的网络创建命令可集成到安装后初始化脚本中[^2] ### 三、自定义脚本示例 创建`deploy_openstack.sh`包含以下核心步骤: ```bash #!/bin/bash # 基础环境配置 apt update && apt upgrade -y apt install -y software-properties-common add-apt-repository cloud-archive:zed -y # 根据版本调整 # 安装NTP服务 apt install -y chrony systemctl enable chrony # 数据库配置(Controller节点专用) if [ "$NODE_TYPE" = "controller" ]; then apt install -y mariadb-server python3-pymysql systemctl restart mariadb mysql -e "CREATE DATABASE nova_cell1;" # 引用[1]中的Horizon配置 sed -i 's/OPENSTACK_HOST =.*/OPENSTACK_HOST = "controller"/' /etc/openstack-dashboard/local_settings.py fi # 网络配置(引用[2][3]) if [ "$NODE_TYPE" = "compute" ]; then openstack network create --share --external --provider-physical-network provider [...] neutron-db-manage upgrade heads fi ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值