OpenStack-计算服务

【基于此文章的环境】点我快速打开文章

1、控制节点(controller)

1.1 创库授权  nova_apinova, 和 nova_cell0

mysql

CREATE DATABASE nova_api;

CREATE DATABASE nova;

CREATE DATABASE nova_cell0;

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

用合适的密码代替 NOVA_DBPASS

1.2 创建服务证书

1. 创建 nova 用户

openstack user create --domain default --password NOVA_PASS nova

用合适的密码代替  NOVA_PASS

2. 给 nova 用户添加 admin 角色

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

3. 创建 nova 服务实体

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

4. 创建 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

5. 创建 Placement 服务用户

openstack user create --domain default --password PLACEMENT_PASS placement

用合适的密码代替 PLACEMENT_PASS

6. 使用 admin 角色将 Placement 用户添加到服务项目

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

7. 在服务目录中创建 Placement API 条目

openstack service create --name placement --description "Placement API" placement

8. 创建 Placement API 服务端点

openstack endpoint create --region RegionOne placement public http://controller:8778

openstack endpoint create --region RegionOne placement internal http://controller:8778

openstack endpoint create --region RegionOne placement admin http://controller:8778

1.3 安装配置 nova

1. 安装其软件包

yum install openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler openstack-nova-placement-api -y &>/dev/null

echo $?

2. 修改配置文件

1. 备份初始配置文件,然后重定向写入配置文件
cp /etc/nova/nova.conf{,.bak}

egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf

2. 编辑文件 /etc/nova/nova.conf 并完成如下动作:
vim /etc/nova/nova.conf
  • [DEFAULT] 部分,只启用计算和元数据 API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
  • [api_database][database] 部分,配置数据库的连接
[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

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

用你为 Compute 数据库选择的密码来代替 NOVA_DBPASS

  • [DEFAULT] 部分,配置 RabbitMQ 消息队列访问权限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller

用你在 RabbitMQ 中为 openstack 选择的密码替换 RABBIT_PASS

  • [api][keystone_authtoken] 部分中,配置身份服务访问
[api]
# ...
auth_strategy = keystone

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

使用你在身份认证服务中设置的 nova 用户的密码替换 NOVA_PASS

  • [DEFAULT] 部分,配置 my_ip 来使用控制节点的管理接口的 IP 地址。
[DEFAULT]
# ...
my_ip = 10.0.0.11
  • [DEFAULT] 部分,启用网络服务支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
  • [vnc] 部分,配置 VNC 代理使用控制节点的管理接口 IP 地址
[vnc]
enabled = true
# ...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
  • [glance] 区域,配置镜像服务 API 的位置:
[glance]
# ...
api_servers = http://controller:9292
  • [oslo_concurrency] 部分,配置锁路径
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
  • [placement] 部分,配置 Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS

替换 PLACEMENT_PASS 为你 placementIdentity 服务中为用户选择的密码

3. 编辑文件 /etc/httpd/conf.d/00-nova-placement-api.conf 并完成如下动作:
cp /etc/httpd/conf.d/00-nova-placement-api.conf{,.bak}

vim /etc/httpd/conf.d/00-nova-placement-api.conf

#在16行</VirtualHost>这一行上面增加以下内容
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>

4. 重启 Httpd 服务
systemctl restart httpd

3. 同步数据库(创表)

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

su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

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

检查
nova-manage cell_v2 list_cells

4. 启动和自动启动

systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

4. 检查

openstack compute service list

2、计算节点(compute1)

2.1 安装配置 nova

1. 安装其软件包

yum install openstack-nova-compute -y &>/dev/null

echo $?

2. 修改配置文件

1. 备份初始配置文件,然后重定向写入配置文件
cp /etc/nova/nova.conf{,.bak}

egrep -v '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf

2. 编辑文件 /etc/nova/nova.conf 并完成如下动作:
vim /etc/nova/nova.conf
  • [DEFAULT] 部分,只启用计算和元数据 API
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
  • [DEFAULT] 部分,配置 RabbitMQ 消息队列访问权限
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller

用你在 RabbitMQ 中为 openstack 选择的密码替换 RABBIT_PASS

  • [api][keystone_authtoken] 部分中,配置身份服务访问
[api]
# ...
auth_strategy = keystone

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

使用你在身份认证服务中设置的 nova 用户的密码替换 NOVA_PASS

  • [DEFAULT] 部分,配置 my_ip 来使用控制节点的管理接口的 IP 地址。
[DEFAULT]
# ...
my_ip = 10.0.0.31
  • [DEFAULT] 部分,启用网络服务支持
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
  • [vnc] 部分,启用并配置远程控制台访问
[vnc]
# ...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
  • [glance] 区域,配置镜像服务 API 的位置:
[glance]
# ...
api_servers = http://controller:9292
  • [oslo_concurrency] 部分,配置锁路径
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
  • [placement] 部分,配置 Placement API
[placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS

替换 PLACEMENT_PASS 为你 placementIdentity 服务中为用户选择的密码

3. 启动和自启动

systemctl enable libvirtd.service openstack-nova-compute.service

systemctl start libvirtd.service openstack-nova-compute.service

4. 验证操作

在控制节点上操作(controller)
openstack compute service list

发现计算节点,每添加新节点,则需要执行以下操作:

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

【后续文章】点我快速打开文章

【本文图片下载地址】【002-OpenStack】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:kse1 】

今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!

004-OpenStack-计算服务的更多相关文章

  1. 7.添加OpenStack计算服务

    添加计算服务 安装和配置控制器节点 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* ...

  2. 安装OpenStack计算服务(nova)

    1. 配置数据库 数据库安装在控制节(controller)点上 $ mysql -u root -p 2.创建 glance 数据库 CREATE DATABASE nova; GRANT ALL ...

  3. 云计算管理平台之OpenStack计算服务nova

    一.nova简介 nova是openstack中的计算服务,其主要作用是帮助我们在计算节点上管理虚拟机的核心服务:这里的计算节点就是指用于提供运行虚拟机实例的主机,通常像这种计算节点有很多台,那么虚拟 ...

  4. OpenStack 计算服务 Nova计算节点部署(八)

    如果使用vmware虚拟机进行部署,需要开启虚拟化:如果是服务器需要在bios上开启. nova计算节点IP是192.168.137.12 环境准备 安装时间同步 yum install ntpdat ...

  5. OpenStack 计算服务 Nova介绍和控制节点部署(七)

    介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这个主要和nova相关,我们把安装为计算节点nova-c ...

  6. OpenStack 计算服务 Nova计算节点部署 (九)

    如果使用vmware虚拟机进行部署,需要开启虚拟化:如果是服务器需要在bios上开启. Nova Compute nova-compute 一般运行在计算节点上,通过Messages Queue接收并 ...

  7. OpenStack 计算服务 Nova介绍和控制节点部署 (八)

    一)nova在keystone上服务注册 1.1创建nova务实体 [root@controller ~]# source admin-openrc [root@controller ~]# open ...

  8. 【openstack N版】——计算服务nova

    一.openstack计算服务nova 1.1nova介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这 ...

  9. [ Openstack ] Openstack-Mitaka 高可用之 计算服务(Nova)

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  10. openstack安装部署——计算服务(控制节点&计算节点)前言

    1.前言Openstack计算服务通过认证服务获取认证:通过镜像服务获取镜像:通过仪表盘提供的用户界面与用户交互.镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同). ...

随机推荐

  1. IOI2015 boxes纪念品盒

    BZOJ 4368: [IOI2015]boxes纪念品盒 BZOJ传送门 Description IOI2015开幕式正在进行最后一个环节.按计划在开幕式期间,每个代表队都将收到由主办方发放的一个装 ...

  2. 《一起学mysql》2

    事务   爸妈让往他们银行卡里转点儿钱,可是我这钱全在支付宝里,爸妈又没有支付宝,只能从支付宝里转给他 们了,假如转账过程中,支付宝扣款成功了,但是银行系统崩溃了,钱没转进去,这咋整?我的大洋就这样 ...

  3. 奥展项目笔记06--js弹出框、对话框、提示框、弹窗总结

    JS的三种最常见的对话框: //====================== JS最常用三种弹出对话框 ======================== //弹出对话框并输出一段提示信息 functi ...

  4. Spring Security OAuth2 Demo —— 客户端模式(ClientCredentials)

    前情回顾 前几节分享了OAuth2的流程与其它三种授权模式,这几种授权模式复杂程度由大至小:授权码模式 > 隐式授权模式 > 密码模式 > 客户端模式 本文要讲的是最后一种也是最简单 ...

  5. java架构之路(多线程)JMM和volatile关键字

    说到JMM大家一定很陌生,被我们所熟知的一定是jvm虚拟机,而我们今天讲的JMM和JVM虚拟机没有半毛钱关系,千万不要把JMM的任何事情联想到JVM,把JMM当做一个完全新的事物去理解和认识. 我们先 ...

  6. [CrackMe]160个CrackMe之001

    吾爱破解专题汇总:[反汇编练习]160个CrackME索引目录1~160建议收藏备用 一.Serial/Name 之 暴力破解 1. 熟悉界面:很常规的一个界面,输入完账号密码之后会进行验证.  2. ...

  7. dedecms用runphp功能,写for循环,@me输出不出来

    今天在{dede:field name='typeid' runphp='yes'}中写for循环,出现@me输出不了内容,把for循环删掉之后,就可以输出.死了几十万脑细胞,没有解决,后来把循环 f ...

  8. OpenGL入门1.4:纹理/贴图Texture

    每一个小步骤的源码都放在了Github 的内容为插入注释,可以先跳过 前言 游戏玩家对Texture这个词应该不陌生,我们已经知道了怎么为每个顶点添加颜色来增加图形的细节,但,如果想让图形看起来更真实 ...

  9. 网格弹簧质点系统模拟(Spring-Mass System by Fast Method)附源码(转载)

    转载:  https://www.cnblogs.com/shushen/p/5311828.html 弹簧质点模型的求解方法包括显式欧拉积分和隐式欧拉积分等方法,其中显式欧拉积分求解快速,但积分步长 ...

  10. PIE属性表多字段的文本绘制

    最近研究了PIE SDK文本元素的绘制相关内容,因为在我们的开发中,希望可以做到在打开一个Shp文件后,读取到属性表的所有字段,然后可以选择一些需要的字段,将这些字段的所有要素值的文本,绘制到shp图 ...