踏入OpenStack大门,Nova项目部署

2023-05-16

文章目录

  • 一、Nova组件部署环境
  • 二、控制节点Nova服务配置
    • 2.1 创建nova数据库,并执行授权操作
    • 2.2 管理Nova用户及服务
      • 2.2.1 创建nova用户
      • 2.2.2 创建nova服务
      • 2.2.3 给Nova服务关联endpoint(端点)
      • 2.2.4 安装nova组件
    • 2.3 修改nova配置文件nova.conf
    • 2.4 初始化nova_api数据库
    • 2.5 注册cell0数据库
      • 2.5.1 创建cell1单元格
      • 2.5.2 初始化nova数据库
      • 2.5.3 验证cell0和cell1是否注册成功
    • 2.6 设置自启,开启Nova服务
    • 2.7 检查nova服务端口
  • 三、计算节点配置Nova服务
    • 3.1 安装nova-compute组件
    • 3.2 修改nova配置文件nova.conf
    • 3.3 设置自启,开启服务
  • 四、控制节点配置操作
    • 4.1 查看compute节点是否注册到controller上
    • 4.2 扫描当前openstack中计算节点
    • 4.3 修改控制端nova的主配置文件
    • 4.4 验证计算节点服务
  • 五、小结

一、Nova组件部署环境

  • 在完成Glance组件部署的基础上进行Nova组件的部署
  • 可参照https://blog.csdn.net/weixin_49104298/article/details/111462311
主机名地址服务
ct20.0.0.11​nova-api、​nova-scheduler、​nova-conductor、nova-novncproxy
c120.0.0.12​nova-compute
c220.0.0.13​nova-compute
  • 控制节点ct
    ​nova-api(nova主服务)
    ​nova-scheduler(nova调度服务)
    ​nova-conductor(nova数据库服务,提供数据库访问)
    ​nova-novncproxy(nova的vnc服务,提供实例的控制台)
  • 计算节点c1&c2
    nova-compute(nova计算服务)

二、控制节点Nova服务配置

2.1 创建nova数据库,并执行授权操作

[root@ct ~]# mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

2.2 管理Nova用户及服务

2.2.1 创建nova用户

[root@ct ~]# openstack user create --domain default --password NOVA_PASS nova

在这里插入图片描述

  • 把nova用户添加到service项目,拥有admin权限
[root@ct ~]# openstack role add --project service --user nova admin

2.2.2 创建nova服务

[root@ct ~]# openstack service create --name nova --description "OpenStack Compute" compute

在这里插入图片描述

2.2.3 给Nova服务关联endpoint(端点)

[root@ct ~]# openstack endpoint create --region RegionOne compute public http://ct:8774/v2.1
[root@ct ~]# openstack endpoint create --region RegionOne compute internal http://ct:8774/v2.1
[root@ct ~]# openstack endpoint create --region RegionOne compute admin http://ct:8774/v2.1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.4 安装nova组件

[root@ct ~]# yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler

2.3 修改nova配置文件nova.conf

cp -a /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 20.0.0.11
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova_api
openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova
openstack-config --set /etc/nova/nova.conf placement_database connection mysql+pymysql://placement:PLACEMENT_DBPASS@ct/placement
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen ' $my_ip'
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address ' $my_ip'
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS
  • 查看nova.conf
    cat /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata		#指定支持的api类型
my_ip = 20.0.0.11				#定义本地IP
use_neutron = true					#通过neutron获取IP地址
firewall_driver = nova.virt.firewall.NoopFirewallDriver
transport_url = rabbit://openstack:RABBIT_PASS@ct	#指定连接的rabbitmq

[api]
auth_strategy = keystone				#指定使用keystone认证

……

[keystone_authtoken]				#配置keystone的认证信息
auth_url = http://ct:5000/v3				#到此url去认证
memcached_servers = ct:11211			#memcache数据库地址:端口

……

[oslo_concurrency]					#指定锁路径
lock_path = /var/lib/nova/tmp			#锁的作用是创建虚拟机时,在执行某个操作的时候,需要等此步骤执行完后才能执行下一个步骤,不能并行执行,保证操作是一步一步的执行

……

[vnc]						#此处如果配置不正确,则连接不上虚拟机的控制台
enabled = true		
server_listen =  $my_ip				#指定vnc的监听地址
server_proxyclient_address =  $my_ip			#server的客户端地址为本机地址;此地址是管理网的地址

2.4 初始化nova_api数据库

[root@ct ~]# su -s /bin/sh -c "nova-manage api_db sync" nova

2.5 注册cell0数据库

  • nova服务内部把资源划分到不同的cell中,把计算节点划分到不同的cell中
  • openstack内部基于cell把计算节点进行逻辑上的分组
[root@ct ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

2.5.1 创建cell1单元格

[root@ct ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

在这里插入图片描述

2.5.2 初始化nova数据库

  • 可以通过 /var/log/nova/nova-manage.log 日志判断是否初始化成功
[root@ct ~]# su -s /bin/sh -c "nova-manage db sync" nova

在这里插入图片描述

2.5.3 验证cell0和cell1是否注册成功

su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

在这里插入图片描述

2.6 设置自启,开启Nova服务

[root@ct ~]# systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
[root@ct ~]# systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

2.7 检查nova服务端口

[root@ct ~]# netstat -tnlup|egrep '8774|8775'

在这里插入图片描述

[root@ct ~]# curl http://ct:8774

在这里插入图片描述

三、计算节点配置Nova服务

  • 计算节点c1与c2相同(除了IP地址)

3.1 安装nova-compute组件

yum -y install openstack-nova-compute

3.2 修改nova配置文件nova.conf

  • 修改为c1、c2对应节点的内部IP,openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 20.0.0.*
cp -a /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 20.0.0.12
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
 openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address ' $my_ip'
openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://20.0.0.11:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu
  • 查看nova.conf
    cat /etc/nova/nova.conf
……

novncproxy_base_url = http://20.0.0.11:6080/vnc_auto.html			#比较特殊的地方,需要手动添加IP地址,否则之后搭建成功后,无法通过UI控制台访问到内部虚拟机

3.3 设置自启,开启服务

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service

四、控制节点配置操作

4.1 查看compute节点是否注册到controller上

[root@ct ~]# openstack compute service list --service nova-compute

4.2 扫描当前openstack中计算节点

  • 发现后会把计算节点创建到cell中,后面就可以在cell中创建虚拟机
  • 相当于openstack内部对计算节点进行分组,把计算节点分配到不同的cell中
[root@ct ~]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

4.3 修改控制端nova的主配置文件

  • 默认每次添加个计算节点,在控制端就需要执行一次扫描,可以修改控制端nova的主配置文件
[root@ct ~]# vim /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval = 300			#每300秒扫描一次
  • 重启服务
[root@ct ~]# systemctl restart openstack-nova-api.service

4.4 验证计算节点服务

  • 检查 nova 的各个服务是否都是正常,以及 compute 服务是否注册成功
[root@ct ~]# openstack compute service list
  • 查看各个组件的 api 是否正常
[root@ct ~]# openstack catalog list
  • 查看是否能够拿到镜像
[root@ct ~]# openstack image list
  • 查看cell的api和placement的api是否正常,只要其中一个有误,后期无法创建虚拟机
[root@ct ~]# nova-status upgrade check

五、小结

  • Nova分为控制节点、计算节点
  • Nova组件核心功能是调度资源,在配置文件中需要体现的部分:指向认证节点位置(URL、ENDPOINT)、调用服务、注册、提供支持等,配置文件中的所有配置参数基本都是围绕此范围进行设置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

踏入OpenStack大门,Nova项目部署 的相关文章

随机推荐

  • ROS工作空间、功能包创建,编译相关的C++/python程序详解

    有关工作空间的结构 xff1a WorkSpace 自定义的工作空间 build xff1a 编译空间 xff0c 用于存放CMake和catkin的缓存信息 配置信息和其他中间文件 devel xff1a 开发空间 xff0c 用于存放编
  • VScode配置ROS环境下Debug调试

    参考 xff1a VScode debug ROS cpp程序设置 断点调试 ABC Orange的博客 CSDN博客 poll failed with error interrupted system call Get Started w
  • C++速成(封装、继承和多态)

    前前言 xff1a 如果有时间 xff0c 搜一个完整的教程看 xff0c 用到啥学啥 xff0c 这样可能可以省更多的时间 61 61 前言 xff1a C 43 43 的命名规范 C 43 43 命名规范 ajioy的博客 CSDN博客
  • 神经网络与深度学习课程总结二

    深度学习平台介绍 1 1PyTorch是一个Python的深度学习库 它最初由Facebook人工智能研 究小组开发 xff0c 而优步的Pyro软件则用于概率编程 1 1 1PyTorch基本使用 基本概念 张量 xff08 Tensor
  • 神经网络与深度学习课程总结三

    一 数据集与评价指标 算法评估 xff1a P R曲线 mAP计算 二 目标检测与YOLO 目标检测问题 xff1a 目标检测是在给定的图片中精确找到物体所在位置 并标注出物体的类别 物体的尺寸变化范围很大 摆放物体的角度 姿态不定 而且可
  • 神经网络与深度学习课程总结四

    一 数据处理基础 1 1特征编码 xff1a 第1列表示年龄 xff0c 是一个数值特征 第2列表示性别 xff0c 是一个只有一位 xff08 0 xff0c 1 xff09 的特征 0 gt Male 1 gt Female 第3列表示
  • 高大上的数据可视化图表,只需6步就能完成

    一份高质量的数据可视化图表 xff0c 能够让你清晰 全面地传达出数据信息 xff0c 成为你工作 学习 竞赛的助推器 xff01 因此 xff0c 一款功能强大的可视化软件显得尤为重要 xff01 最近博主在用的百度 Sugar BI x
  • 从零开始的MySQL学习,完全备份、增量备份和备份恢复

    文章目录 一 数据备份的重要性二 数据库备份的分类从物理与逻辑的角度从数据库的备份策略角度 三 完全备份完全备份的优点完全备份的缺点 四 mysqldump备份库备份单个库备份多个库备份所有库备份表 五 备份恢复source命令恢复mysq
  • 【错误归纳】rsync远程同步:报错password file must not be other-accessible

    实验场景 xff1a rsync远程同步 故障现象 xff1a 做rsync远程同步时 xff0c 当时在发起端输入了以下命令 调用了免密方式同步文件 rsync span class token operator span az span
  • Linux就该这么学,GlusterFS分布式原理和架构

    文章目录 一 GlusterFS概述GlusterFS的简介GlusterFS的特点GlusterFS的相关用语模块化堆栈式架构 二 GlusterFS工作原理GlusterFS工作流程弹性hash算法 三 GlusterFS的卷类型分布式
  • 【错误归纳】创建GlusterFS卷:报错Mount failed. Please check the log file for more details

    实验场景 xff1a 创建GlusterFS复制卷 故障现象 xff1a 创建GlusterFS复制卷 客户端挂载时出错 root 64 client mount glusterfs node1 rep vol hyc rep vol Mo
  • 【归纳总结】MySQL5.6与5.7区别

    文章目录 一 编译安装区别下载软件带boost的mysql源码安装不带boost的mysql源码安装 二 初识化时的区别三 功能和特性的区别 一 编译安装区别 Mysql5 7版本更新后有很多变化 xff0c 比如json等 xff0c 连
  • 今天也来点Docker,端口映射与容器互联

    文章目录 一 端口映射1 1 概述1 2 随机端口1 3 映射指定端口 二 容器互联 一 端口映射 1 1 概述 在启动容器的时候 xff0c 如果不指定对应的参数 xff0c 在容器外部是无法通过网络来访问容器内部的网络应用和服务的 当容
  • 今天也来点Docker,Consul服务(自动发现的Docker架构)

    文章目录 一 Consul 理论概述1 1 简介1 2 使用场景1 3 优势1 4 consul 端口 二 基于Docker的Consul服务搭建2 1 部署环境2 2 部署Consul服务2 3 容器服务自动加入nginx集群2 4 验证
  • 【错误归纳】yum安装docker-ce报错

    实验场景 xff1a yum安装docker ce 故障现象 xff1a root 64 docker2 yum repos d yum config manager add repo https mirrors aliyun com do
  • 今天也来点Docker,Docker-TLS加密通讯

    这里写目录标题 一 TLS加密通讯的概述二 TLS加密通讯的部署2 1 搭建环境2 2 部署过程2 3 验证加密通讯 一 TLS加密通讯的概述 用TLS加密通讯原因 xff1a 为了防止链路劫持 会话劫持等问题导致 Docker 通信时被中
  • Nginx+Tomcat动静分离的部署

    文章目录 一 动静分离的原理二 动静分离的优势三 项目部署3 1 项目环境3 2 nginx 服务器部署3 3 Tomcat 服务器部署3 4 客户端验证服务器状态3 5 动静分离配置3 6 验证动态配置 一 动静分离的原理 服务端接收来自
  • 数据门户是什么?

    数据门户可以通过配置导航菜单 xff0c 自由组合报表 屏 数据填报 外部链接等资源 xff0c 形成 个可通过 定义地址统一访问的资源 数据门户可 便用户对多个关联 进 集中查看 其主要应 用场景为 制作主题性数据 网站或主题性报表 xf
  • 踏入OpenStack大门,Nova计算服务讲解

    文章目录 一 Nova计算服务概述1 1 Nova简介1 2 Nova系统架构1 3 Nova 部署 Cell 二 Nova组件详细介绍2 1 API xff08 通信接口 xff09 2 2 Scheduler xff08 调度器 xff
  • 踏入OpenStack大门,Nova项目部署

    文章目录 一 Nova组件部署环境二 控制节点Nova服务配置2 1 创建nova数据库 xff0c 并执行授权操作2 2 管理Nova用户及服务2 2 1 创建nova用户2 2 2 创建nova服务2 2 3 给Nova服务关联endp