004-OpenStack-计算服务

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

1535493-20190722193217306-1287394686.gif

1535493-20190722193229468-2142892958.png

1.2 创建服务证书

1. 创建 nova 用户
openstack user create --domain default --password NOVA_PASS nova

用合适的密码代替  NOVA_PASS

1535493-20190722193235726-472100106.gif

1535493-20190722193238411-525439830.jpg

2. 给 nova 用户添加 admin 角色
openstack role add --project service --user nova admin

1535493-20190722193246303-2006973619.gif

1535493-20190722193248605-1126189719.jpg

3. 创建 nova 服务实体
 openstack service create --name nova \
  --description "OpenStack Compute" compute

1535493-20190722193255962-1633518831.gif

1535493-20190722193300173-320622797.jpg

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

1535493-20190722193312549-1381205721.gif

1535493-20190722193317020-1121557216.png

5. 创建 Placement 服务用户
openstack user create --domain default --password PLACEMENT_PASS placement

用合适的密码代替 PLACEMENT_PASS

1535493-20190722193326823-903965516.gif

1535493-20190722193330739-1620276677.jpg

6. 使用 admin 角色将 Placement 用户添加到服务项目
openstack role add --project service --user placement admin

1535493-20190722193336755-184257898.gif

1535493-20190722193343185-1553313498.jpg

7. 在服务目录中创建 Placement API 条目
openstack service create --name placement --description "Placement API" placement

1535493-20190722193349964-391650165.gif

1535493-20190722193356724-238983720.jpg

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

1535493-20190722193404985-2044161331.gif

1535493-20190722193409612-1392649212.png

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 $?

1535493-20190722193417332-1591993595.gif

1535493-20190722193421317-475733762.jpg

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

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

1535493-20190722193427755-2037220633.gif

1535493-20190722193435603-1667928058.jpg

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 服务中为用户选择的密码

1535493-20190722193500115-1278332193.gif

1535493-20190722193504779-1602341744.png

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>

1535493-20190722193511996-975779886.gif

1535493-20190722193515001-1326221822.jpg

4. 重启 Httpd 服务
systemctl restart httpd

1535493-20190722193520532-513936855.gif

1535493-20190722193523161-1012429838.jpg

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

1535493-20190722193529738-1551413855.gif

1535493-20190722193533690-2047394867.jpg

检查
nova-manage cell_v2 list_cells

1535493-20190722193539581-581846130.gif

1535493-20190722193542077-1088560630.jpg

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

1535493-20190722193551613-300556560.gif

1535493-20190722193555862-1813228920.jpg

4. 检查
openstack compute service list

1535493-20190722193608028-2031771480.gif

1535493-20190722193610409-1554665986.jpg

2、计算节点(compute1)

2.1 安装配置 nova

1. 安装其软件包
yum install openstack-nova-compute -y &>/dev/null

echo $?

1535493-20190722193632415-1175051604.gif

1535493-20190722193637196-275339247.jpg

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

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

1535493-20190722193644799-1038814412.gif

1535493-20190722193648451-885168202.jpg

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 服务中为用户选择的密码

1535493-20190722193707497-836104176.gif

1535493-20190722193712281-294887260.png

3. 启动和自启动
systemctl enable libvirtd.service openstack-nova-compute.service

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

1535493-20190722193719999-1415814717.gif

1535493-20190722193723801-2075289126.jpg

4. 验证操作
在控制节点上操作(controller)
openstack compute service list

1535493-20190722193829012-607141537.gif

1535493-20190722193838067-365325773.jpg

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

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

1535493-20190722193845164-1808120180.gif

1535493-20190722193855506-1540164161.jpg

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

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

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

转载于:https://www.cnblogs.com/wjcLinux/p/11227960.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值