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. C#所有经典排序算法汇总

    1.选择排序 选择排序 class SelectionSorter     {         private int min;         public void Sort(int[] arr) ...

  2. JMeter jp@gc - stepping thread group插件

    这是一个出单接口压力测试的小例子,了解一下压力测试最最基础的基础.出单接口是用来保险出单的,不需要在UI界面下一步下一步的出单,接口一调数据入库完事~~~.再啰嗦一句接口应该都知道是什么吧?一个完整的 ...

  3. SpringBoot(十八)_springboot打成war包部署

    最近在做项目的时候,由于使用的是springboot,需要打成war包.我就按照正常的思路去打包,结果部署后无法访问,一直报错404.后续问了问 公司同事,他给解决了.说大部分都是这个原因. 如果需要 ...

  4. verilog语法标准

    initial 中语句超过一需要添加begin和end: 1995 2001 介绍了当用逗号分隔敏感列表更方便构成事件控制表达式的选择条件: 2005 2001/2005语法标准,没有类型定义的任何标 ...

  5. 深入了解Python

    一.Python的风格 Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读.易维护,并且被大量用户所欢迎的.用途广泛的语言. 设计者开发时总的指导思想是,对于一个特定的问题,只要 ...

  6. CF1207F Koala and Notebook(BFS)

    你可能会好奇为什么只有一个 BFS 的标签,却还能够排到 F 的位置. 因为它实在是太 简 单 了 有更新 首先,比较两个数,可以先比较两个数的长度,然后比较两个数看成数字串后的字典序. 不妨先把每条 ...

  7. 内网Metasploit映射到外网

    下载frp Github项目地址:https://github.com/fatedier/frp 找到最新的releases下载,系统版本自行确认. 下载方法: wget https://github ...

  8. 大话设计模式Python实现-工厂方法模式

    工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延时到其子类. #!/usr/bin/env python ...

  9. find命令常用场景

    1.查找/var目录下属主为root并且属组为mail的所有文件: find /var -user root -group mail 2.查找/usr目录下不属于root,bin,或student的文 ...

  10. ThinkPHP 3.2 自定义基类 Model

    ThinkPHP 提供了一个 Model 类,供其他的 Model 进行继承.Model 类中是 MVC 中的模型类,它是调用 持久层 的上层类.感觉这么描述问题很多,但是有什么办法呢?但是,这个 M ...