Ubuntu Server 20.04最小部署openstack Wallaby(四)——Nova

2023-05-16

Compute服务与其他OpenStack服务协作,协调各种工作,是OpenStack的核心服务,这里需要操作Controller和Compute两个节点。

1. Controller节点配置

创建数据库(注意替换NOVA_DBPASS)

mysql -u root -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';

加载环境变量

. admin-openrc

创建用户并加入角色

openstack user create --domain default --password-prompt nova
openstack role add --project service --user nova admin

创建服务

openstack service create --name nova --description "OpenStack Compute" compute

创建api节点

openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1

安装相应的程序

sudo apt-get install nova-api nova-conductor nova-novncproxy nova-scheduler

修改配置文件

sudo vim /etc/nova/nova.conf

修改api_database和database(注意替换NOVA_DBPASS)

[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

[database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova

修改Default(注意替换RABBIT_PASS)

[DEFAULT]
# ...
# log_dir = /var/log/nova(一定注释掉)
transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/
my_ip = 10.0.0.211

修改api和keystone_authtoken

[api]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000/
auth_url = http://controller:5000/
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS

修改neutron(注意替换NEUTRON_PASS和METADATA_SECRET)

[neutron]
# ...
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET

为之后对接neutron准备,METADATA_SECRET可以通过以下命令生成

openssl rand -hex 10

修改vnc

[vnc]
# ...
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip

修改glance

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

修改oslo_concurrency

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

修改placement(注意替换PLACEMENT_PASS)

[placement]
# ...
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = PLACEMENT_PASS

创建数据库

sudo su -s /bin/sh -c "nova-manage api_db sync" nova
sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
sudo su -s /bin/sh -c "nova-manage db sync" nova
sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

重启服务

sudo systemctl restart nova-api
sudo systemctl enable nova-api

sudo systemctl restart nova-scheduler
sudo systemctl enable nova-scheduler

sudo systemctl restart nova-conductor
sudo systemctl enable nova-conductor

sudo systemctl restart nova-novncproxy
sudo systemctl enable nova-novncproxy

2. Compute节点配置

安装服务

sudo apt-get install nova-compute

修改配置文件

sudo vim /etc/nova/nova.conf

修改Default(注意替换RABBIT_PASS)

[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
my_ip = 10.0.0.213

修改api和keystone_authtoken(注意替换NOVA_PASS)

[api]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000/
auth_url = http://controller:5000/
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS

修改neutron(注意替换NEUTRON_PASS)

[neutron]
# ...
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

修改vnc,CONTROLLER_MANAGEMENT_IP替换为controller节点的内部IP

[vnc]
# ...
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://CONTROLLER_MANAGEMENT_IP:6080/vnc_auto.html

修改glance

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

修改oslo_concurrency

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

修改placement(注意替换PLACEMENT_PASS)

[placement]
# ...
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = PLACEMENT_PASS

查看主机是否支持硬件加速

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

如果返回0就是不支持,修改配置文件

sudo vim /etc/nova/nova-compute.conf

修改libvirt

[libvirt]
# ...
virt_type = qemu

重启服务

sudo systemctl restart nova-compute.service 
sudo systemctl enable nova-compute.service

将Compute节点加入Cell数据库(Controller节点运行)

. admin-openrc
sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

3. 验证服务

. admin-openrc
openstack compute service list
openstack catalog list
openstack image list
sudo nova-status upgrade check

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu Server 20.04最小部署openstack Wallaby(四)——Nova 的相关文章

随机推荐

  • 接入Swagger2(1) —— SwaggerUI

    关于Swagger不再多述 xff0c 这里只分享接入方式 1 接入 SpringBoot中引入Swagger相当简单 xff0c 只需要添加一个依赖就行 xff0c 如下 xff1a lt dependency gt lt groupId
  • 接入Swagger2(2) —— knife4j

    上一篇文章介绍了Swagger2默认UI的接入方式 xff0c 但是UI实在太丑 xff0c 而且布局也很难用 xff0c 这里介绍一个相对漂亮点的UI knife4j knife4j是基于swagger2开发的 xff0c 是swagge
  • SpringSecurity的使用(1)—— 起步

    年初就关注到SpringSecurity了 xff0c 看官网 xff0c 看不懂 xff1b 查资料 xff0c 跟我预想的不一样 xff0c 所以一直入不了门 有博文说添加依赖 xff0c 再次启动项目就会跳转到登录页面 我是前后端分离
  • 离线模式:Unresolved dependency: ‘com.xx.xx:xx-xx:jar:x.x.x‘

    SpringBoot最常用的编译器就是IDEA xff0c 如果不能联网 xff0c 则需要将工程设置为离线模式 1 遇到的问题 这两天遇到了这样的问题 xff1a JeecgBoot的工程中有添加依赖包 knifej spring boo
  • SpringBoot中Java调用dll

    1 背景 最近接手的项目 xff0c 底层算法是C 43 43 写的 xff0c 并且封装成了dll 而目前的需求 xff0c 需要把这些算法移到服务端执行 不可能把C 43 43 写的算法库改用Java重写一遍 xff0c 而且也基于执行
  • 接入Shiro(1)——极简登录认证

    Shiro是一个强大易用的Java安全框架 xff0c 提供了认证 授权 加密和会话管理等功能 之前的开发都是在低代码上直接使用Shiro xff0c 一般也不需要修改 在SpringBoot的基础上 xff0c 只接入Shiro的登录认证
  • 接入Shiro(2)——基于JWT的登录认证

    前文讲到基于Shiro的登录认证 xff0c 只是对前端传来的token长度做了判断 xff0c 并没有与用户关联 本文将分享用户登录 Token创建 Token验证三个关键环节的用法 xff0c 其中用户登录只对用户名和密码做简单的比对
  • VS2017离线安装

    因开发环境限制 xff0c 不联外网开发是一种很常见的情况 xff0c 但官方似乎不提供vs2017离线安装包 几经周折 xff0c 终于找到了解决办法 1 vs2017下载地址 Visual Stduio 旧版本下载地址 Visual S
  • Invalid or corrupt jarfile xxx.jar

    一 遇到的问题 Artifacts打包的特点是 xff0c 目录下会生成一大堆jar包 xff0c 各个依赖包都是独立存在的 xff0c 更新时只替换开发包即可 之前一直用Artifacts打的包 xff0c 会生成MANIFEST MF文
  • GitLab的备份与还原

    一 现状 前段时间在麒麟系统上部署了GitLab xff0c 后来发现太占资源 xff0c 于是准备在Ubuntu Desktop版本上部署GitLab Ubuntu Desktop出预装了浏览器 xff0c 感觉不会比麒麟轻太多 之前安装
  • 如何使用Sublime的插件(以HexViewer为例)

    1 打开Package Control功能 xff1a 在sublime任意界面按下ctrl 43 xff08 注意是键盘左上角的 xff09 xff0c 会在界面最下方弹出一个编辑框 xff0c 输入如下内容 xff08 注意区分Subl
  • Java和Qt如何实现multipartfile表单的请求

    一 背景 做项目经常需要跟其他单位 公司对接 xff0c 由于成本等方面的考虑 xff0c 不可能多家单位一直坐在一起开发 一般的解决办法是 xff0c 自己的B端 C端先与自己的服务端对接 xff0c 基本功能开发完成 xff0c 再将自
  • 树的排布、展开与折叠算法

    一 背景 原项目是纯C端程序 xff0c 未来要移植成BS架构 其中一个功能是界面上展示树 xff0c 基本要求是 xff1a xff08 1 xff09 按层次展示树各个结点 xff08 2 xff09 根结点以及各个子树结点可以点击 x
  • 常用git命令

    一 背景 做Qt开发一直在Windows平台上 xff0c 客户要求移植到麒麟系统 Windows和麒麟共用一套代码 xff0c 所以麒麟系统上的代码也需要与Git服务器同步 好用的Sourcetree没有Linux版本 xff0c 无奈只
  • 用Qt实现文件转码

    一 背景 用VS做Qt开发 xff0c 源码文件默认是GBK编码 但做跨平台 xff0c 同样的源码复制到麒麟的QtCreator xff0c 必须手动选择GB2312编码才能修改代码 另外 xff0c Windows的Sourcetree
  • 我的程序员之路(20)——2022年年度总结

    在现在的公司工作一年半了 过去的一年收获很多 xff0c 与以往最大的区别是肩上压了一个项目 尽管我只负责技术方面的工作 xff0c 但是要协调各方面 xff0c 也是件很麻烦的事 尤其是跟用户方的接触 xff0c 是极大的提升了业务知识
  • C++中回调函数的一个简单例子?

    回调函数应用实例 xff1a 1 定义一个Person类 xff08 Person h xff09 文件 xff1a 注意 xff1a 在这个类中指定了回调函数 xff0c 回调函数的执行者 xff0c 和回调函数指针 重要的是 回调函数
  • Docker容器的端口映射

    在Docker容器的日常使用中 xff0c 有以下5种常见的端口映射方式 1 对容器暴露的所有端口 xff0c 随机映射宿主机端口 P xff0c publish all 61 true false xff0c 默认为false span
  • wsl不动了,wsl2不动了。不响应

    原来是用vim编辑时 xff0c 习惯了 xff0c 按了ctrl 43 s的原因 Ctrl 43 s 在终端下是有特殊用途的 xff0c 那就是暂停该终端 xff0c Ctrl 43 q 退出这种状态 xff0c 让终端继续运行
  • Ubuntu Server 20.04最小部署openstack Wallaby(四)——Nova

    Compute服务与其他OpenStack服务协作 xff0c 协调各种工作 xff0c 是OpenStack的核心服务 xff0c 这里需要操作Controller和Compute两个节点 1 Controller节点配置 创建数据库 注