当前位置: 首页 > news >正文

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

目录

一、实验

1.环境

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

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


一、实验

1.环境

(1) 主机

表1 主机

主机架构IP备注
controller控制节点192.168.204.210已部署
compute01计算节点1192.168.204.211 已部署
compute02计算节点2192.168.204.212

(2)官网

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

(3)网络

①计算节点2  ping 控制节点

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

(4) 时间同步

① 计算节点2

[root@compute02 ~]# yum install -y chrony

[root@compute02 ~]# vim /etc/chrony.conf
[root@compute02 ~]# systemctl restart chronyd.service && systemctl enable chronyd.service

 ③测试

[root@controller ~]# date[root@compute01 ~]# date[root@compute02 ~]# date

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

# neutron agent-list

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

(1)安装软件包

# 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

①在[DEFAULT]和 [oslo_messaging_rabbit]部分,配置RabbitMQ消息队列的连接

[DEFAULT]
...
rpc_backend = rabbit[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

② 在 [DEFAULT]和 [keystone_authtoken] 部分,配置认证服务访问

[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 选项

[DEFAULT]
...
my_ip = 192.168.204.212

④ 在 [DEFAULT] 部分,使能 Networking 服务

[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

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

[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 的位置

[glance]
...
api_servers = http://controller:9292

⑦ 在 [oslo_concurrency] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

⑧ 备份修改

(3)完成安装

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

$ egrep -c '(vmx|svm)' /proc/cpuinfo

(4)验证操作

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

(1)安装组件

# yum install openstack-neutron-linuxbridge ebtables ipset

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

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

②在 [DEFAULT]和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息队列的连接

[DEFAULT]
...
rpc_backend = rabbit[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

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

[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] 部分,配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

⑤ 备份修改

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

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

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

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

[vxlan]
enable_vxlan = False

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

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

④ 备份修改

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

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

[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) 查看服务列表

# openstack compute service list

(6)完成安装

①重启计算服务

# systemctl restart openstack-nova-compute.service

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

# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service

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

# neutron agent-list

相关文章:

  • Visual Studio调试模式下无法使用右键菜单将ppt转换到pdf
  • React 实现 Step组件
  • 少儿编程 中国电子学会图形化编程2022年3月等级考试Scratch二级真题解析(选择题、判断题)
  • 一个可以用于生产环境得PHP上传函数
  • YoloV5改进策略:基于频域多轴表示学习模块|全网首发|高效涨点|代码注释详解
  • 基于多反应堆的高并发服务器【C/C++/Reactor】(中)子线程 WorkerThread的实现 和 线程池ThreadPool的初始化
  • Wnmp本地部署结合内网穿透实现任意浏览器远程访问本地服务
  • 银行十大主题域
  • MySQL之视图案例
  • ASP.NET可视化流程设计器源码
  • FPGA时序分析与时序约束(三)——I/O接口约束
  • 数脉观察二丨 详解CroPoolv2.0锁仓收益机制 文末附锁仓教程
  • 软件测试|测试平台开发-Flask 入门:编写第一个简单 Web 应用
  • 华为OD机试 - 寻找最优的路测线路(Java JS Python C)
  • 谈谈我的三次考研经历
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • angular组件开发
  • Javascript设计模式学习之Observer(观察者)模式
  • JavaScript新鲜事·第5期
  • Java读取Properties文件的六种方法
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 机器学习学习笔记一
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 一个SAP顾问在美国的这些年
  • 栈实现走出迷宫(C++)
  • ionic异常记录
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # 达梦数据库知识点
  • #微信小程序(布局、渲染层基础知识)
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (译)计算距离、方位和更多经纬度之间的点
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [ASP]青辰网络考试管理系统NES X3.5
  • [BZOJ] 3262: 陌上花开
  • [codevs 1515]跳 【解题报告】
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [dart学习]第四篇:函数
  • [javaSE] GUI(Action事件)
  • [json]定义、读写
  • [LeetCode]-225. 用队列实现栈-232. 用栈实现队列
  • [na]wireshark抓包排错-tcp.flags.reset
  • [NOSQL] Redis介绍