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. 13. 抽象类 & 接口

    一.抽象类 // 抽象类Shape public abstract class Shape { // 1. 成员变量 private String color; // 2. 初始化块 { System ...

  2. 如何调用.so动态库中的函数,如何把自己的函数导出为.so的动态库函数供别人调用

    调用.so中的函数和平常的函数没有区别,只是在编译连接时加上-lxxxx就行了.要生成.so库,则编译时用下面的语句:gcc -shared -Wl,-soname,libmyfun.so -o li ...

  3. 忘记IBM服务器的登录IP

    问题描述: 一台服务器安装了winserver2003系统,经过漫长的加电启动,能进入到win2003的登录界面,提示ctrl+alt+del登录界面,但是发现键盘失灵了,无法键入ctrl+alt+d ...

  4. DHCP服务基本搭建

    DHCP原理 DHCP租约四部曲: A:客户端进行IP请求 当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP ...

  5. node.js是用来做什么的?这是我看到最好的解释了

    一种JavaScript的运行环境,能够使得JavaScript脱离浏览器运行. 参考链接:https://www.cnblogs.com/suhaihong/p/6598308.html https ...

  6. Leetcode173. 二叉搜索树迭代器

    空间复杂度O(h)而不是O(n),因此不能直接在初始化函数中做中序遍历将结果存储到数组中.next()和hasNext()时间复杂度为O(1)首先本题很容易想到用二叉树的中序遍历去解决,外加注意点1. ...

  7. js支持装饰器

    vscode中使用装饰器不报错 { "compilerOptions": { "experimentalDecorators": true } } yarn a ...

  8. 使用Vue-cli3搭建Vue+TypeScript项目

    一,创建项目 使用 npm 安装 vue-cli 3 和typescript npm i -g @vue/cli typescript 使用vue create命令快速搭建新项目的脚手架 vue cr ...

  9. Java代理类Proxy的用法

    代理(proxy) 利用代理可以在运行时创建一个实现了一组给定接口的新类.这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用. 何时使用代理 假设有一个表示接口的Class对象(有可能只包含一 ...

  10. [线段树]Luogu P3372 线段树 1【模板】

    #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #d ...