手动部署OpenStack(五)之“Nova服务的安装与配置”

配置步骤
笔记链接:http://note.youdao.com/noteshare?id=4946f1ccdf1f740635fb6f838a0c7817

五、Nova服务的安装与配置

计算服务Nova是云平台工作的核心,如果云平台的工作不包括计算,那充其量只代表静态存储,所有动态活动都会涉及一些计算元素。
其功能包括:
☛ 运行虚拟机实例
☛管理网络及通过用户
☛控制对云的访问
OpenStack Compute 没有包含任何的虚拟化软件,相反它定义和运行在主机操作系统上的虚拟化机制交互的驱动程序,并通过基于web的程序应用接口(API)来提供功能的使用。
Nova的子组件
☛nova-api 负责接收和相应外部的api请求,支持OpenStackCompute API和Amazon EC2 Api接口。
☛ nova-scheduler负责虑拟机的调度 ,根据多种调度算法,选择合适的hypervisor,常见的调度有:基于CPU基于内存,随机调度等。
☛ nova-compute通过API接口和底层的hypervisor交互 ,完成instance的创建,管理和销毁,并将状态同步至DB.
☛ nova-conductor 和nova-compute相互结合,完成compute节点对数据库状态的更新,避免数据库的接口直接被compute访问。
☛ nova-consoleauth完成控制台如VNC对instance访问的认证 ,compute节点通过proxy的方式,交由nova-consoleauth完成认证。
☛ nova-vncproxy 提供一个访问instance的web接口,该接口基于VNC协议,不需要安装客户端即可实现。
☛ novacert 用户管理证书,提供兼容性保障,保证所有的应用程序都能在云上运行。
1、Nova的安装与配置
★该项的所有操作步骤需要使用root用户进行
①创建数据库并授权
[root@controller0 ~]# mysql -uroot -popenstack

mysql> create database nova;
mysql> grant all privileges on nova.* to ‘nova’@‘localhost’ identified by ‘NOVA_DBPASS’;
mysql> grant all privileges on nova.* to ‘nova’@’%’ identified by ‘NOVA_DBPASS’;
[root@controller0 ~]# mysql -u nova -pNOVA_DBPASS -e ‘show databases;’

②创建keystone认证用户
a.创建用户
[root@controller0 ~]# source admin-openrc.sh
[root@controller0 ~]# keystone user-create --name nova --pass NOVA_PASS --email nova@example.com --enabled true
[root@controller0 ~]# keystone user-list

b.赋予nova用户admin权限
[root@controller0 ~]# keystone user-role-add --user nova --tenant service --role admin
[root@controller0 ~]# keystone user-role-list --user nova --tenant service

③创建Nova服务并注册到keystone中
[root@controller0 ~]# keystone service-create --name nova --type compute --description
“Openstack Nova Compute Service”
[root@controller0 ~]# keystone service-list

[root@controller0 ~]# keystone endpoint-create --service-id $(keystone service-list|awk ‘/ compute / {print $2}’) --publicurl http://controller0:8774/v2/%(tenant_id)s--internalurlhttp://controller0:8774/v2/%(tenant_id)s--adminurl http://controller0:8774/v2/%(tenant_id)s --region regionOne
[root@controller0 ~]# keystone endpoint-list

2、安装和配置nova
①安装nova
[root@controller0 ~]# yum update

[root@controller0~]#yum -y install openstack-nova-api openstack-nova-cert openstack-nova-conductoropenstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
②配置数据库连接
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:NOVA_DBPASS@controller0/nova
[root@controller0 ~]# cat /etc/nova/nova.conf | grep mysql

③配置rabbit
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend rabbit
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_host controller0
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_port 5672
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_userid nova
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_password NOVA_MQPASS
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_virtual_host /
[root@controller0 ~]# cat /etc/nova/nova.conf | more

[root@controller0 ~]# cat /etc/nova/nova.conf | grep rabbit

④配置keystone认证信息
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller0:5000/v2.0
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken identity_uri http://controller0:35357
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password NOVA_PASS
[root@controller0 ~]# cat /etc/nova/nova.conf | more

[root@controller0 ~]# cat /etc/nova/nova.conf | grep keystone

⑤配置vnc信息
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.20.0.10
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 10.20.0.10
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.20.0.10
[root@controller0 ~]# cat /etc/nova/nova.conf | grep 10.20.0.10

[root@controller0 ~]# yum list | grep websockify
[root@controller0 ~]# rpm -qa | grep websockify

⑥配置glance连接
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf glance host controller0
[root@controller0 ~]# cat /etc/nova/nova.conf | grep controller0
开启debug日志:
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT debug True

⑦创建nova所需的表
[root@controller0 ~]# su -s /bin/sh -c “nova-manage db sync” nova
[root@controller0 ~]# mysql -unova -pNOVA_DBPASS -e ‘show tables from nova;’

⑧启动nova相关的服务并设置开机启动
[root@controller0 ~]# service openstack-nova-api start
[root@controller0 ~]# chkconfig openstack-nova-api on
[root@controller0 ~]# service openstack-nova-scheduler start
[root@controller0 ~]# chkconfig openstack-nova-scheduler on
[root@controller0 ~]# service openstack-nova-cert start
[root@controller0 ~]# chkconfig openstack-nova-cert on
[root@controller0 ~]# service openstack-nova-consoleauth start
[root@controller0 ~]# chkconfig openstack-nova-consoleauth on
[root@controller0 ~]# service openstack-nova-conductor start
[root@controller0 ~]# chkconfig openstack-nova-conductor on
[root@controller0 ~]# service openstack-nova-novncproxy start
[root@controller0 ~]# chkconfig openstack-nova-novncproxy on

⑨校验controller0上的nova服务是否正常
[root@controller0 ~]# source admin-openrc.sh
[root@controller0 ~]# nova service-list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值