一、组件3—计算服务
1.简介
参考官网:点击
使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务(IaaS)系统的主要部分,模块主要由Python实现。OpenStack计算组件请求OpenStack Identity服务进行认证;请求OpenStack Image服务提供磁盘镜像;为OpenStack dashboard提供用户与管理员接口。磁盘镜像访问限制在项目与用户上;配额以每个项目进行设定(例如,每个项目下可以创建多少实例)。OpenStack组件可以在标准硬件上水平大规模扩展,并且下载磁盘镜像启动虚拟机实例。
OpenStack计算服务由下列组件所构成:
nova-api 服务:
接收和响应来自最终用户的计算API请求。此服务支持OpenStack计算服务API,Amazon EC2 API,以及特殊的管理API用于赋予用户做一些管理的操作。它会强制实施一些规则,发起多数的编排活动,例如运行一个实例。nova-api-metadata 服务:
接受来自虚拟机发送的元数据请求。一般在安装nova-network
服务的多主机模式下使用。nova-compute
服务:
一个持续工作的守护进程,通过Hypervior的API来创建和销毁虚拟机实例。nova-scheduler
服务:
拿到一个来自队列请求虚拟机实例,然后决定那台计算服务器主机来运行它。nova-conductor
模块:
媒介作用于nova-compute
服务与数据库之间。它排除了由nova-compute
服务对云数据库的直接访问。nova-conductor模块可以水平扩展。但是,不要将它部署在运行nova-compute
服务的主机节点上。nova-cert
模块:
服务器守护进程向Nova Cert服务提供X509证书。用来为euca-bundle-image
生成证书。nova-consoleauth 守护进程:
授权控制台代理所提供的用户令牌。nova-novncproxy 守护进程:
提供一个代理,用于访问正在运行的实例,通过VNC协议,支持基于浏览器的novnc客户端。nova-spicehtml5proxy 守护进程:
提供一个代理,用于访问正在运行的实例,通过 SPICE 协议,支持基于浏览器的 HTML5 客户端。nova-xvpvncproxy 守护进程:提供一个代理,用于访问正在运行的实例,通过VNC协议,支持OpenStack特定的Java客户端。
nova-cert 守护进程:
X509 证书。nova
客户端:
用于用户作为租户管理员或最终用户来提交命令。队列
一个在守护进程间传递消息的中央集线器。常见实现有RabbitMQ <http://www.rabbitmq.com/>
__ , 以及如Zero MQ <http://www.zeromq.org/>
__等AMQP消息队列。SQL数据库:
存储构建时和运行时的状态,为云基础设施。
2.安装并配置控制节点
接下来将描述如何在控制节点上安装和配置 Compute 服务,即 nova。安装和配置 Compute 服务前,必须创建数据库服务的凭据以及 API endpoints。为了创建数据库,必须完成这些步骤。
用数据库连接客户端以 root 用户连接到数据库服务器;
创建 nova_api 和 nova 数据库;
对数据库进行正确的授权。
编辑/etc/nova/nova.conf
文件
在[DEFAULT]
部分,只启用计算和元数据API
在[api_database]
和[database]
部分,配置数据库的连接:
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列访问
指定消息队列的主机、连接的用户名和密码
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问(keystone)
在 [glance] 区域,配置镜像服务 API 的位置
在 [oslo_concurrency] 部分,配置锁路径
同步Compute 数据库,忽略输出中任何不推荐使用的信息。
列出服务
进行域名解析
激活eth1网卡
使用Chrony简单配置服务器之间的时间同步
同步宿主机的时间
启动并自启chrony服务;
查看是否成功
接下来描述如何在计算节点上安装并配置计算服务;
安装软件包(计算节点来启动云主机,不需要连接数据库(为了安全))
编辑/etc/nova/nova.conf
文件
在[DEFAULT]
和 [oslo_messaging_rabbit]部分,配置RabbitMQ
消息队列的连接
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问
在 [oslo_concurrency] 部分,配置锁路径
使用如下命令,查看计算节点是否支持虚拟机的硬件加速:
$ egrep -c ‘(vmx|svm)’ /proc/cpuinfo
如果这个命令返回了 one or greater 的值,那么该计算节点支持硬件加速且不需要额外的配置;
如果这个命令返回了 zero 值,那么该计算节点不支持硬件加速。必须配置 libvirt 来使用 QEMU 去代替 KVM
在 /etc/nova/nova.conf 文件的 [libvirt] 区域做出如下的编辑:
启动计算服务及其依赖,并将其配置为随系统自动启动
4.验证操作
列出服务组件,以验证是否成功启动并注册了每个进程;
前三个组件在控制节点(server5),最后一个组件在计算节点(server6)
Networking 服务器组件的配置包括数据库、认证机制、消息队列、拓扑变化通知和插件。
编辑/etc/neutron/neutron.conf
文件
在 [database] 部分,配置数据库访问
在[DEFAULT]
部分,启用ML2插件并禁用其他插件
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问
接下来配置 Modular Layer 2 (ML2) 插件,ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施。
编辑/etc/neutron/plugins/ml2/ml2_conf.ini
文件
在[ml2]
部分,启用flat和VLAN网络
禁用私有网络,启用Linuxbridge机制,启用端口安全扩展驱动
在[ml2_type_flat]
部分,配置公共虚拟网络为flat网络
在 [securitygroup]
部分,启用 ipset 增加安全组规则的高效性
接下来,配置Linuxbridge代理,Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini
文件
在[linux_bridge]
部分,将公共虚拟网络和公共物理网络接口对应起来(虚拟主机使用eth1桥接进行通信)
在[vxlan]
部分,禁止VXLAN覆盖网络
在 [securitygroup]
部分,启用安全组并配置 Linuxbridge iptables firewall driver:
接下来配置DHCP代理(这个组件用来给云主机分配ip);
编辑/etc/neutron/dhcp_agent.ini
文件
在[DEFAULT]
部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
在[DEFAULT]
部分,配置元数据主机以及共享密码
为计算节点配置网络服务,编辑/etc/nova/nova.conf
文件
在[neutron]
部分,配置访问参数,启用元数据代理并设置密码
编辑/etc/neutron/neutron.conf
文件
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问(keystone认证)
5.计算节点配置网络选项—公共网络
配置Linuxbridge代理,Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini
文件
在[linux_bridge]
部分,将公共虚拟网络和公共物理网络接口对应起来(计算节点上的eth1接口作为云主机的通信)
在[vxlan]
部分,禁止VXLAN覆盖网络
在 [securitygroup]
部分,启用安全组并配置 Linuxbridge iptables firewall driver:
接下来为计算节点配置网络服务。
编辑/etc/nova/nova.conf
文件
在[neutron]
部分,配置访问参数
6.验证操作
列出加载的扩展来验证neutron-server
进程是否正常启动
创建网络(名为provider);–shared
选项允许所有项目使用虚拟网络
增加安全组规则:默认情况下,
default
安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,应该至少允许ICMP (ping) 和安全shell(SSH)规则。
添加规则到 default 安全组:首先允许 ICMP (ping)
使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
列出可用网络
列出可用类型
此时,网页访问上面的URL,去访问云主机
使用cirros登陆,密码为cubswin:);
可以看到云主机成功搭建,分到的ip如下
真机打开转发功能
此时云主机可以上网(云主机与虚拟机桥接)
top查看:top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况
可以看到计算节点上的云主机的相应信息(云主机的网络接口为eth1)
测试:控制节点远程连接云主机
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6312.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~