Openstack基础环境配置(六):手动安装配置nova组件(控制节点)

文章目录

17版本之前,只要有placement,名字为openstack-nova-placement
18版本,只要有placement,名字为openstack-placement

1. 创建nova数据库并授权

mysql -u root -p
CREATE DATABASE nova_api
CREATE DATABASE nova
CREATE DATABASE nova_cell0
GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;

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

2.创建Nova服务凭证 先设置环境变量

1)设置环境变量

可以将以下配置写入 /etc/profie文件中,也可以写入一个脚本文件中
①写入环境变量中

[root@openstack2 ~]# vi /etc/profile
export OS_USERNAME=admin
export OS_PASSWORD=keystone
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://192.168.239.102:5000/v3
export OS_IDENTITY_API_VERSION=3
:wq保存退出
[root@openstack2 ~]# source /etc/profile
在这里插入图片描述

②编写一个脚本文件

[root@openstack2 ~]# vi admin-openrc.sh
export OS_USERNAME=admin
export OS_PASSWORD=keystone
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://192.168.239.102:5000/v3
export OS_IDENTITY_API_VERSION=3
:wq保存退出
[root@openstack2 ~]# . admin-openrc.sh

2)创建nova用户

openstack user create ­­domain default ­­password­prompt nova
在这里插入图片描述(密码设置为nova)

The request you have made requires authentication. (HTTP 401)
(Request-ID: req-2f140b5d-4191-4d94-a8a1-7bb52cfe0f15)

如果在创建nova用户时出现以上报错,显示需要验证
[root@openstack2 log]# cd /var/log/keystone/
[root@openstack2 keystone]# cat keystone.log
找到最底下最新的日志信息,发现授权失败
在这里插入图片描述
解决办法:
将admin-openrc.sh中的export OS_PASSWORD=nova密码改为keystone
在这里插入图片描述
[root@openstack2 ~]# . admin-openrc.sh
再进行创建用户即可
创建后可以查看用户列表:
[root@openstack2 ~]# openstack user list
在这里插入图片描述
表示创建成功

3)将管理员admin角色授予nova用户和sevice项目

openstack role add ­­project service ­­user nova admin

4)创建nova的服务入口

openstack service create --name nova --description “Openstack Compute” compute
在这里插入图片描述

3.创建nova服务的API端点

openstack endpoint create --region RegionOne compute public http://192.168.239.102:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://192.168.239.102:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://192.168.239.102:8774/v2.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 创建放置服务(Placement)凭证

1)创建placement用户

openstack user create --domain default --password-prompt placement
在这里插入图片描述(密码设置为nova)

2)将管理员admin角色授予placement用户和service项目

openstack role add --project service --user placement admin

3)创建Placement API入口

openstack service create --name placement --description “Placement API” placement在这里插入图片描述

5. 创建放置服务端点

openstack endpoint create --region RegionOne placement public http://192.168.239.102:8778
openstack endpoint create --region RegionOne placement internal http://192.168.239.102:8778
openstack endpoint create --region RegionOne placement admin http://192.168.239.102:8778
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 安装Nova

yum install -y openstack-nova-api
yum install -y openstack-nova-conductor
yum install -y openstack-nova-console
yum install -y openstack-nova-novncproxy
yum install -y openstack-nova-scheduler
yum install -y openstack-nova-placement-api (会安装失败)
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

7. 编辑/etc/nova/nova.conf配置文件

1)在[default]中仅启用compute和metadata API

vi /etc/nova/nova.conf
enaled_apis = osapi_compute,metadata
:/enabled_apis 查找 在这里插入图片描述

2)在[api_database]和[database]中配置数据库访问

[api_database]
connection=mysql+pymysql://nova:NOVA_DBPASS@IP地址/nova_api
NOVA_DBPASS: nova密码(nova)
在这里插入图片描述
[database]
connection=mysql+pymysql://nova:NOVA_DBPASS@IP地址/nova
在这里插入图片描述

3)在[default]中配置RabiitMQ消息队列访问

[DEFAULT]
transport_url=rabbit://openstack:openstack@192.168.239.102
在这里插入图片描述

4)[api]和[keystone_authtoken]中配置身份服务访问

在这里插入图片描述

[keystone_authtoken]
auth_uri=http://192.168.239.102:5000/v3
memcached_servers=192.168.239.102:11211
auth_type=password
project_domain_name=default
user_domain_name=default
project_name=service
username=nova
password=nova
(NOVA_PASSWD)

在这里插入图片描述

5)在[default]中使用my_ip参数配置控制节点的管理接口ip地址

my_ip=MANAGEMENT_INTERFACE_IP_ADDRESS
在这里插入图片描述

6)在[default]中启用对网络服务的支持

use_neutron=True

在这里插入图片描述

firewall_driver=nova.virt.firewall.NoopFirewallDriver
注意:
在默认情况下,计算机服务使用自己的防火墙驱动。而网络服务也包括一个防火墙驱动,因此必须使用nova.virt.firewall.NoopFirewallDriver来禁用计算机服务的防火墙驱动

在这里插入图片描述

7)在[vnc]中配置VNC代理使用控制节点的管理接口IP地址

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

8)在[glance]中配置镜像服务API的位置

[glance]
api_servers=http://192.168.239.102:9292

在这里插入图片描述

9)在[oslo_concurrency]中配置锁定路径(lock path)

lock_path=/var/lib/nova/tmp
在这里插入图片描述

10)[placement]节中配置Placement API

os_region_name=RegionOne
project_domain_name=Default
project_name=service
auth_type=password
user_domain_name=Default
auth_url=http://192.168.239.102:5000/v3
username=placement
password=nova
(设置的placement密码)
在这里插入图片描述

11)将如下配置添加到/etc/httpd/conf.d/00-nova-placement-api.conf中(Placement安装失败,没有这个文件)

<Directory /usr/bin>
	<IfVersion >= 2.4>
		Require all granted
	</IfVersion>
	<IfVersion < 2.4>
		Order allow, deny
		Allow from all
	</IfVersion>
	</Directory>

(1)重新安装Placement

https://docs.openstack.org/placement/train/install/install-rdo.html

1) 创建Placement数据库
CREATE DATABASE placement;
2)进行授权
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement';

GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'placement';

在这里插入图片描述
第4步和第5步前面已经配置过

3)安装placement
yum install openstack-placement-api
4)配置 /etc/placement/placement.conf文件
[placement_database]
# ...
connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement
#PLACEMENT_DBPASS为placement数据库授权密码

在这里插入图片描述

[api]
# ...
auth_strategy = keystone

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

在这里插入图片描述

5)初始化placement数据库
placement-manage db sync
6)由于软件包缺陷,必须将以下配置添加到/etc/httpd/conf.d/00-nova-placement-api.conf文件钟,允许访问Placement API

在这里插入图片描述

12)重启httpd服务使上述设置生效

systemctl restart httpd

8. 初始化数据库

初始化nova-api数据库
nova-manage api_db sync
注册cell0数据库
nova-manage cell_v2 map_cell0
在这里插入图片描述
创建cell单元
nova-manage cell_v2 create_cell --name=cell --verbose
在这里插入图片描述
初始化nova数据库
nova-manage db sync
在这里插入图片描述
验证nova的cell0和cell已经正确注册
nova-manage cell_v2 list_cells
在这里插入图片描述
在数据库中查看是否生成数据表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9. 启动设置

systemctl enable openstack-nova-api
systemctl enable openstack-­nova­-consoleauth //报错no directory systemctl enable openstack-­nova-scheduler
systemctl enable openstack-­nova-­conductor
systemctl enable openstack-­nova-­novncproxy

systemctl start openstack-nova-­api openstack­-nova­-scheduler openstack-­nova­conductor openstack-­nova­-novncproxy
经过在网上查询得知,nova-consoleauth从18.0.0版后就被弃用了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值