OpenStack核心组件原理与应用之Nova(未完待续)

概览:

概览请查看:https://blog.csdn.net/dylloveyou/article/details/80698420

Nova(OpenStack Compute Service)是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源,同时管理虚拟机生命周期。

Nova 在整个 OpenStack 架构中的位置如下图: 


在上图中可以看到,OpenStack 很多组件都为 Nova 提供支持: 
Glance 为 VM 提供镜像; 
Cinder 和 Swift 分别为 VM 提供块存储和对象存储; 
Neutron 为 VM 提供网络连接。

安装:

先决条件:

创建数据库:(注 此处添加数据库和用户验证一定要齐全,不然后期初始化时会报:OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'nova'@'%' to database 'nova_api'") (Background on this error at: http://sqlalche.me/e/e3q8) 错误!)

MariaDB [(none)]> create database nova;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> CREATE DATABASE nova_api;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'  IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost'  IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%'  IDENTIFIED BY 'password';
MariaDB [(none)]> flush privileges;

创建服务证书:

#创建 glance用户:
[root@ct1 ~]# openstack user create --domain default --password-prompt nova
#添加admin角色到glance用户和service项目上:
[root@ct1 ~]# openstack role add --project service --user nova admin
#创建glance服务实体:
[root@ct1 ~]# openstack service create --name nova --description "OpenStack Compute" compute

控制节点安装的软件包:

yum install -y openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient

控制节点执行编辑/etc/nova/nova.conf(表示如果控制节点也作为计算节点便设置)

[DEFAULT]#只启用计算和元数据API
my_ip=192.168.2.201 #控制节点IP
enabled_apis=osapi_compute,metadata
auth_strategy=keystone
allow_resize_to_same_host=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
network_api_class=nova.network.neutronv2.api.API
use_neutron=true
rpc_backend=rabbit
[api_database]#配置数据库连接
connection=mysql+pymysql://nova:nova123@controller1/nova_api
[database]
connection=mysql+pymysql://nova:nova123@controller1/nova
[glance]#配置服务API的位置
...
api_servers= http://controller1:9292
[keystone_authtoken]#配置认证服务访问
...
auth_uri=http://controller1:5000
auth_url = http://controller1:35357
memcached_servers = controller1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova123
[libvirt]
...
virt_type=kvm #若控制节点也作为计算节点,这一行需添加
[neutron]#网络配置
...
url=http://controller1:9696
auth_url = http://controller1:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron123
service_metadata_proxy = True
metadata_proxy_shared_secret = neutron
[oslo_messaging_rabbit]#配置消息队列访问
...
rabbit_host=controller1
rabbit_userid=openstack
rabbit_password=openstack123 #openstack定义的密码
[vnc]#配置VNC代理
...
keymap=en-us #若控制节点也作为计算节点,需添加
vncserver_listen=$my_ip
vncserver_proxyclient_address=$my_ip
novncproxy_base_url=http://124.65.181.122:6080/vnc_auto.html #若控制节点也作为计算几点,需添加

导入nova数据库信息及检查:

su -s /bin/sh -c "nova-manage api_db sync" nova

su -s /bin/sh -c "nova-manage db sync" nova
WARNING: cell0 mapping not found - not syncing cell0.(此告警先忽略)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值