2.5 计算服务
2.5.1Nova 的概述
Nova 组成组件:
API:负责接收和响应外部请求。支持openstack API,EC2 API
Nova-api组件实现了restful API功能,是外部访问Nova的唯一途径
接收外部的请求并通过message queue将请求发送给其他的组件,同事也兼容EC2 API,所以也可以用EC2 的管理工具对Nova进行日常管理。
Cert:负责身份认证EC 2
Schedule:用于云主机调读,决策虚拟机创建在哪个主机(计算节点)上。
Conductor:计算节点访问数据的中间件
Consoleauth:用于控制台的授权验证
Novncproxy:VNC代理
Nova-computer一般运行在计算节点上,通过messagequeue接收并管理VM的生命周期。通过libvirt管理KVM,通过xenapi管理xen等。
2.5.2 控制节点上Nova的安装与配置
a 数据库的创建与授权
create databasenova;
grant all on nova.*to 'nova'@'localhost' identified by 'nova';
grant all on nova.*to 'nova'@'%' identified by 'nova';
create databasenova_api;
grant all onnova_api.* to 'nova'@'localhost' identified by 'nova';
grant all onnova_api.* to 'nova'@'%' identified by 'nova';
b 创建服务证书
获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
sourceadmin-openstack.sh
创建 nova 用户:
openstack usercreate --domain default \
--password-promptnova
给 nova 用户添加admin 角色:
openstack role add--project service --user nova admin
c 创建 nova 服务实体
openstack servicecreate --name nova \
--description"OpenStack Compute" compute
d 创建 Compute 服务 API 端点
openstack endpointcreate --region RegionOne compute public http://192.168.56.11:8774/v2.1/%\(tenant_id\)s
openstack endpointcreate --region RegionOne compute admin http://192.168.56.11:8774/v2.1/%\(tenant_id\)s
openstack endpointcreate --region RegionOne compute internalhttp://192.168.56.11:8774/v2.1/%\(tenant_id\)s
e 软件包的安装
yum install -yopenstack-nova-api openstack-nova-conductor \
openstack-nova-consoleopenstack-nova-novncproxy \
openstack-nova-scheduler
f 编辑``/etc/nova/nova.conf``
[DEFAULT]# 只启用计算和元数据API
enabled_apis=osapi_compute,metadata
transport_url=rabbit://openstack:openstack@192.168.56.11# 配置rabbitmq 消息队列访问权限
auth_strategy=keystone
firewall_driver =nova.virt.firewall.NoopFirewallDriver # 启用网络服务支持
use_neutron=True
[api_database]# 配置数据库的连接
connection=mysql+pymysql://nova:nova@192.168.56.11/nova_api
[database] # 配置数据库的连接
connection=mysql+pymysql://nova:nova@192.168.56.11/nova
[glance] # 配置镜像服务API 的位置
api_servers=http://192.168.56.11:9292
[keystone_authtoken]# 配置认证服务访问
auth_uri =http://192.168.56.11:5000
auth_url =http://192.168.56.11:35357
memcached_servers =192.168.56.11:11211
auth_type =password
project_domain_name= default
user_domain_name =default
project_name =service
username = nova
password = nova
[oslo_concurrency]配置锁路径
lock_path=/var/lib/nova/tmp
[vnc]# 配置vnc 代理使用控制节点的管理接口IP 地址
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=192.168.56.11
j 同步Compute 数据库
su -s /bin/sh -c"nova-manage api_db sync" nova
su -s /bin/sh -c"nova-manage db sync" nova
检验是否同步成功
mysql -h192.168.56.11 -unova -pnova -e "use nova;show tables;"
mysql -h192.168.56.11 -unova -pnova -e "use nova_api;show tables;"
h 启动 Compute 服务并将其设置为随系统启动
systemctl enableopenstack-nova-api.service \
openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \
openstack-nova-conductor.serviceopenstack-nova-novncproxy.service
systemctl startopenstack-nova-api.service \
openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \
openstack-nova-conductor.serviceopenstack-nova-novncproxy.service
验证:
openstack host list
+-------------------------+-------------+----------+
| Host Name | Service| Zone |
+-------------------------+-------------+----------+
|linux-node1.example.com | consoleauth | internal |
|linux-node1.example.com | conductor | internal |
|linux-node1.example.com | scheduler | internal |
+-------------------------+-------------+----------+
2.5.3 计算节点上Nova的安装与配置
a 检验是否具备虚拟化功能
egrep -c'(vmx|svm)' /proc/cpuinfo 过来出非零的数字即可
b 软件包安装
yum install -yopenstack-nova-compute
c 编辑``/etc/nova/nova.conf`` [DEFAULT]
[DEFAULT]# 只启用计算和元数据API
auth_strategy=keystone
firewall_driver =nova.virt.firewall.NoopFirewallDriver
use_neutron=True
enabled_apis=osapi_compute,metadata
transport_url=rabbit://openstack:openstack@192.168.56.11 # 配置``RabbitMQ``消息队列访问权限
[api_database]# 配置数据库访问
connection=mysql+pymysql://nova:nova@192.168.56.11/nova_api
[database]# 配置数据库访问
connection=mysql+pymysql://nova:nova@192.168.56.11/nova
[glance]# 配置镜像服务API
api_servers=http://192.168.56.11:9292
[keystone_authtoken] # 配置认证服务
auth_uri =http://192.168.56.11:5000
auth_url =http://192.168.56.11:35357
memcached_servers =192.168.56.11:11211
auth_type =password
project_domain_name= default
user_domain_name =default
project_name =service
username = nova
password = nova
[oslo_concurrency]# 配置锁路径
lock_path=/var/lib/nova/tmp
[vnc] # 启用并配置远程控制台访问
enabled = True
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=192.168.56.12
novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.html
[libvirt]
virt_type=kvm
d 启动计算服务及其依赖,并将其配置为随系统自动启动
systemctl enablelibvirtd.service openstack-nova-compute.service
systemctl startlibvirtd.service openstack-nova-compute.service
验证:
获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
sourceadmin-openstack
列出服务组件,以验证是否成功启动并注册了每个进程:
openstack compute servicelist
+----+------------------+-------------------------+----------+---------+-------+----------------------------+
| ID | Binary |Host | Zone | Status | State | Updated At |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+
| 1 |nova-consoleauth | linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:14.000000 |
| 2 |nova-conductor | linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:20.000000 |
| 4 | nova-scheduler| linux-node1.example.com | internal | enabled | up |2016-12-20T08:00:14.000000 |
| 8 | nova-compute| linux-node2.example.com | nova | enabled | up | 2016-12-20T08:00:17.000000 |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com