OpenStack Icehouse私有云实战部署

前言

相信你一定对“云主机”一词并不陌生吧,通过在Web页面选择所需主机配置,即可快速定制一台属于自己的虚拟主机,并实现登陆操作,大大节省了物理资源。但这一过程是如何实现的呢?本文带来OpenStack Icehouse私有云实战部署。

OpenStack

简介

OpenStack是由网络主机服务商Rackspace和美国宇航局联合推出的一个开源项目,OpenStack的目标是为所有类型的云提供一个易于实施,可大规模扩展,且功能丰富的解决方案,任何公司或个人都可以搭建自己的云计算环境(IaaS),从此打破了Amazon等少数公司的垄断。

架构

openstack架构图.jpg

工作流程

openstack工作流程.jpg

OpenStack部署

实验环境

角色 主机名 网卡 系统环境
Controller Node controller.scholar.com

管理接口eth0:192.168.10.123

外部接口eth1:172.16.10.123

CentOS6.6
Compute Node compute.scholar.com

管理接口eth0:192.168.10.124

隧道接口eth1:10.0.10.124

CentOS6.6

Network Node


network.scholar.com

管理接口eth0:192.168.10.125

外部接口eth1:172.16.0.0/16

隧道接口eth2:10.0.10.125


CentOS6.6

Block Storage Node block.scholar.com

管理接口eth0:192.168.10.126

外部接口eth1:172.16.10.126

CentOS6.6

实验拓扑

openstack云平台部署拓扑.jpg

路由配置

Block Storage Node还同时提供路由功能,首先来配置一下路由

安装配置Keystone

安装Keystone

openstac yum源安装

安装并初始化MySQL服务器

安装配置Identity 服务

编辑keystone主配置文件,使得其使用MySQL做为数据存储池

配置token

设定openstack用到的证书服务

启动服务

创建tenant、角色和用户

设定Keystone为API endpoint

启用基于用户名认证

Openstack Image服务

安装配置Glance服务

安装相关软件包

初始化glance数据库

配置glance-api和glance-registry接入数据库

创建glance管理用户

配置Glance服务使用Identity服务认证

在keystone注册glance服务

启动服务

创建映像文件

为了使用方便,这里采用CirrOS项目制作的映像文件,其也经常被拿来测试Openstack部署

Compute服务

Compute服务安装配置

安装启动qpid

安装配置compute service

安装所需软件包

配置nova服务

初始化nova数据库

配置nova连入数据库相关信息

为nova指定连接队列服务qpid的相关信息

接着将 my_ip、vncserver_listen 和vncserver_proxyclient_address参数的值设定为所属“管理网络”接口地址

创建nova用户账号

设定nova调用keystone API的相关配置

在KeyStone中注册Nova compute API

启动服务

Compute节点的安装与配置

安装所需软件包

配置nova服务

设置本机支持的hypervisor

这里建议使用kvm虚拟化技术,但其要求计算节点的CPU支持硬件辅助的虚拟化技术。如果正在配置的测试节点不支持三件辅助的虚拟化,则需要将其指定为使用qemu类型的hypervisor

启动服务

在控制端验证添加的compute节点是否已经能够使用

Networking服务

neutron server节点

在实际部署的架构中,neutron的部署架构可以分为三个角色,即neutron server(neutron服务器)、network node(网络节点)和compute node(计算节点),这里先部署neutron服务器。

安装所需软件包

此处配置的为neutron server服务,根据此前的规划,这里将其部署在控制节点上。

创建neutron数据库

在keystone中创建neutron 用户

创建neutron服务及访问端点

配置neutron server

配置 neutron连接数据库的URL

配置neutron server连入keystone

配置neutron server使用的消息队列服务

配置neutron server通知compute节点相关网络定义的改变

配置使用Modular Layer 2 (ML2)插件及相关服务

配置ML2(Modular Layer 2)插件

配置Compute服务

创建连接文件

Networking服务初始化脚本需要通过符号链接文件/etc/neutron/plugin.ini链接至选择使用的插件

重启服务

启动服务

Network节点

配置内核网络参数

安装所需软件包

配置连入keystone

配置其使用的消息队列服务

配置使用ML2

配置Layer-3 (L3) agent

配置DHCP agent

配置neutron中dhcp服务使用自定义配置文件

配置metadata agent

在控制节点上执行如下命令,其中的METADATA_SECRET要替换成与前面选择的相关的密码

配置ML2插件

运行如下命令配置ML2插件,其中10.0.10.125为隧道接口的地址

配置Open vSwitch服务

配置并启动服务

Compute节点

配置内核网络参数

安装所需软件包

配置连入keystone

配置其使用消息队列服务