openstack云计算平台(3)--核心组件配置->计算服务

1. 概述

官方文档链接:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/nova.html
OpenStack计算服务组件所构成示意图:
在这里插入图片描述

  1. nova-api 服务:是计算的唯一入口,所有的计算请求均从nova-api进来
  2. nova-api-metadata 服务
    接受来自虚拟机发送的元数据请求。
  3. nova-compute服务
    一个持续工作的守护进程,通过Hypervior的API来创建和销毁虚拟机实例
  4. nova-scheduler服务
    拿到一个来自队列请求虚拟机实例,然后决定那台计算服务器主机来运行它。
  5. nova-cert 守护进程
    X509 证书
  6. nova客户端
    用于用户作为租户管理员或最终用户来提交命令。
  7. nova-consoleauth 守护进程
    授权控制台代理所提供的用户令牌
  8. nova-novncproxy 守护进程
    提供一个代理,用于访问正在运行的实例,通过VNC协议,支持基于浏览器的novnc客户端
  9. 队列
    一个在守护进程间传递消息的中央集线器。常见实现有RabbitMQ http://www.rabbitmq.com/, 以及如Zero MQ http://www.zeromq.org/等AMQP消息队列。
  10. SQL数据库
    存储构建时和运行时的状态,为云基础设施
2. 安装并配置控制节点
1) 先决条件
##1. 创建数据库
##用数据库连接客户端以 root 用户连接到数据库服务器:
[root@controller ~]# mysql -pwestos
####创建 nova_api 和 nova 数据库
MariaDB [(none)]> CREATE DATABASE nova_api; 
MariaDB [(none)]> CREATE DATABASE nova;

##对数据库进行正确的授权:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost'  IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';

##2. 创建服务证书
## 创建 nova 用户:
[root@controller ~]# openstack user create --domain default  --password nova nova
##给 nova 用户添加 admin 角色:
[root@controller ~]# openstack role add --project service --user nova admin
##创建 nova 服务实体:
[root@controller ~]# openstack service create --name nova  --description "OpenStack Compute" compute

##3. 创建 Compute 服务 API 端点 :
[root@controller ~]# openstack endpoint create --region RegionOne  compute public http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2) 安全并配置组件
## 1. 安装软件包:
[root@controller ~]# yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler -y
## 2. 编辑``/etc/nova/nova.conf``文件并完成下面的操作:
[root@controller ~]# vim /etc/nova/nova.conf
[DEFAULT]  
enabled_apis = osapi_compute,metadata  ##只启用计算和元数据API
rpc_backend = rabbit   ##配置 “RabbitMQ” 消息队列访问
auth_strategy = keystone  ##配置认证服务访问
my_ip = 192.168.0.1   ##配置``my_ip`` 来使用控制节点的管理接口的IP 地址
use_neutron = True    ##使能 Networking 服务
firewall_driver = nova.virt.firewall.NoopFirewallDriver

##在``[api_database]``和``[database]``部分,配置数据库的连接:
[api_database]
connection = mysql+pymysql://nova:nova@controller/nova_api

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

##在 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列访问:
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

##在 “[keystone_authtoken]” 部分,配置认证服务访问:
[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

##在``[vnc]``部分,配置VNC代理使用控制节点的管理接口IP地址 :
[vnc]
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

##3.同步Compute 数据库:
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3) 完成安装
[root@controller ~]# systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

[root@controller ~]# systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

在这里插入图片描述

3. 安装和配置计算节点

这部分描述如何在计算节点上安装并配置计算服务。计算服务支持多种虚拟化方式 hypervisors to deploy instances or VMs. For simplicity, this configuration uses the QEMU hypervisor with the :term:KVM <kernel-based VM (KVM)>计算节点需支持对虚拟化的硬件加速。对于传统的硬件,本配置使用generic qumu的虚拟化方式。

1) 计算节点初始化部署
[root@server2 ~]# hostnamectl set-hostname compute1
[root@compute1 ~]# vim /etc/hosts
[root@compute1 ~]# cat /etc/hosts
192.168.0.1 controller
192.168.0.2 compute1
192.168.0.3 block1
[root@compute1 ~]# cd /etc/sysconfig/network-scripts/
[root@compute1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@compute1 network-scripts]# vim ifcfg-eth1
[root@compute1 network-scripts]# cat ifcfg-eth1
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
[root@compute1 network-scripts]# ifup eth1
[root@compute1 network-scripts]# ip addr

[root@controller ~]# scp /etc/yum.repos.d/openstack.repo 192.168.0.2:/etc/yum.repos.d/
[root@compute1 ~]# yum repolist
[root@compute1 ~]# yum install -y chrony
[root@compute1 ~]# vim /etc/chrony.conf
server 192.168.0.100 iburst
[root@compute1 ~]# systemctl enable --now chronyd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2) 安全并配置组件
[root@compute1 ~]# yum install openstack-nova-compute -y  ##安装软件包:
[root@compute1 ~]#  egrep -c '(vmx|svm)' /proc/cpuinfo
2
[root@compute1 ~]# vim /etc/nova/nova.conf

[DEFAULT]
rpc_backend = rabbit  ##配置``RabbitMQ``消息队列的连接
auth_strategy = keystone  ##配置认证服务访问
my_ip = 192.168.0.2   ##配置 my_ip 选项
use_neutron = True  ##使能 Networking 服务
firewall_driver = nova.virt.firewall.NoopFirewallDriver

##配置``RabbitMQ``消息队列的连接:
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

##配置认证服务访问:
[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

##启用并配置远程控制台访问:
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

##配置镜像服务 API 的位置:
[glance]
api_servers = http://controller:9292

[oslo_concurrency]
lock_path = /var/lib/nova/tmp

[libvirt]
virt_type=kvm
3) 完成安装
##1. 确定计算节点是否支持虚拟机的硬件加速
[root@compute1 ~]#  egrep -c '(vmx|svm)' /proc/cpuinfo
2
## 2. 启动计算服务及其依赖,并将其配置为随系统自动启动:
[root@compute1 ~]# systemctl enable --now libvirtd.service openstack-nova-compute.service
[root@compute1 ~]# systemctl start libvirtd.service  openstack-nova-compute.service
4. 验证操作
[root@controller ~]# openstack compute service list

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值