云计算:OpenStack 分布式架构部署(单控制节点与多计算节点)

目录

一、实验

1.环境

[2. 计算服务安装(计算节点2)](#2. 计算服务安装(计算节点2))

[3. 网络服务安装(计算节点2)](#3. 网络服务安装(计算节点2))


一、实验

1.环境

(1) 主机

表1 主机

|------------|-------|-----------------|-----|
| 主机 | 架构 | IP | 备注 |
| controller | 控制节点 | 192.168.204.210 | 已部署 |
| compute01 | 计算节点1 | 192.168.204.211 | 已部署 |
| compute02 | 计算节点2 | 192.168.204.212 | |

(2)官网

OpenStack Docs: OpenStack Installation Guide for Red Hat Enterprise Linux and CentOS

(3)网络

①计算节点2 ping 控制节点

②计算节点2 ping 计算节点1

(4) 时间同步

① 计算节点2

bash 复制代码
[root@compute02 ~]# yum install -y chrony

bash 复制代码
[root@compute02 ~]# vim /etc/chrony.conf
[root@compute02 ~]# systemctl restart chronyd.service && systemctl enable chronyd.service

③测试

bash 复制代码
[root@controller ~]# date

[root@compute01 ~]# date

[root@compute02 ~]# date

(5) 控制节点查看(目前已部署controller与compute01)

bash 复制代码
# neutron agent-list

2. 计算服务安装(计算节点2)

(1)安装软件包

bash 复制代码
# yum install python-openstackclient.noarch openstack-selinux.noarch -y

# yum install openstack-nova-compute libvirt -y

# yum install openstack-utils.noarch -y

(2)编辑/etc/nova/nova.conf

①在DEFAULToslo_messaging_rabbit部分,配置RabbitMQ消息队列的连接

bash 复制代码
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

② 在 DEFAULTkeystone_authtoken 部分,配置认证服务访问

bash 复制代码
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA_PASS

③ 在 DEFAULT 部分,配置 my_ip 选项

bash 复制代码
[DEFAULT]
...
my_ip = 192.168.204.212

④ 在 DEFAULT 部分,使能 Networking 服务

bash 复制代码
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

⑤ 在vnc部分,启用并配置远程控制台访问

bash 复制代码
[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

⑥在 glance 区域,配置镜像服务 API 的位置

bash 复制代码
[glance]
...
api_servers = http://controller:9292

⑦ 在 oslo_concurrency 部分,配置锁路径

bash 复制代码
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

⑧ 备份修改

(3)完成安装

① 确定计算节点是否支持虚拟机的硬件加速

bash 复制代码
$ egrep -c '(vmx|svm)' /proc/cpuinfo

(4)验证操作

3. 网络服务安装(计算节点2)

(1)安装组件

bash 复制代码
# yum install openstack-neutron-linuxbridge ebtables ipset

(2)配置通用组件,编辑/etc/neutron/neutron.conf文件

①在database部分,注释所有connection项,因为计算节点不直接访问数据库;

②在 DEFAULToslo_messaging_rabbit部分,配置 RabbitMQ消息队列的连接

bash 复制代码
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

③ 在 DEFAULTkeystone_authtoken部分,配置认证服务访问(将 NEUTRON_PASS 替换为在认证服务中为 neutron 用户选择的密码)

bash 复制代码
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

④ 在 oslo_concurrency 部分,配置锁路径

bash 复制代码
[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

⑤ 备份修改

(3) 配置Linuxbridge代理,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini

① 在linux_bridge部分,将公共虚拟网络和公共物理网络接口对应起来

bash 复制代码
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

② 在vxlan部分,禁止VXLAN覆盖网络

bash 复制代码
[vxlan]
enable_vxlan = False

③ 在 securitygroup部分,启用安全组并配置 Linuxbridge iptables firewall driver

bash 复制代码
[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

④ 备份修改

(4)配置网络选项,编辑/etc/nova/nova.conf文件

①在neutron部分,配置访问参数

bash 复制代码
[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

(5) 查看服务列表

bash 复制代码
# openstack compute service list

(6)完成安装

①重启计算服务

bash 复制代码
# systemctl restart openstack-nova-compute.service

②启动Linuxbridge代理并配置它开机自启动

bash 复制代码
# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service

(7)控制节点查看(已新增compute02)

bash 复制代码
# neutron agent-list
相关推荐
Dawson Zhu2 分钟前
AI 辅助调试陷入「反复修改」循环?用证据驱动的四步法破局
人工智能·语言模型·架构·aigc·agi
她的男孩2 小时前
多租户和数据权限怎么共存?扒完拦截器注册链路,我找到 4 个隐蔽的坑
java·后端·架构
这个DBA有点耶2 小时前
非关系型数据库到底有几种?键值、文档、列族、图,一篇讲透
mysql·架构·nosql
昇腾知识体系3 小时前
昇腾 A5 ISA 指令集:文档入口与 mem_bar 等关键指令
人工智能·华为·架构·知识图谱
诚心呈意共享外卖配送系统3 小时前
校园配送系统架构设计:最后100米智能调度与两段接力实践
架构·系统架构·创业创新
爱读源码的大都督4 小时前
DeepSeek面试官问:多租户 RAG 系统怎样实现细粒度权限控制?
后端·面试·架构
企业通信技术笔记5 小时前
企业IM内外网隔离部署:DNS、证书、WebSocket与跨网接口设计
websocket·网络协议·架构·php·信息与通信
Triv20256 小时前
24位ADC+IIR可编程滤波:Q.bloxx A104热电偶模块的精度与隔离架构解析
架构
智购科技自动售货机工厂6 小时前
2026自动售货机大规模部署挑战:从8万台设备到百万级的架构演进~YH
架构
掘金者阿豪6 小时前
OceanBase 和金仓怎么选?别只看分布式,复杂查询更考验架构取舍
前端·后端·架构