您的位置:首页 > 运维架构

快速入门Openstack,无脑多节点部署Mitaka(1)--前期环境搭建准备

2016-08-02 19:18 811 查看
参考资料:官方配置文档(http://docs.openstack.org/mitaka/install-guide-rdo/overview.html

序言

openstack是什么?官方的解释:OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.大致意思是说openstack是一个具有大量计算能力、存储、乃至于整个数据中心网络资源的云操作系统,可以通过dashboard这个web管理界面对其进行管理操作。

本人也只是一个openstack的初学者,写这序列博文的目的最主要是分享记录自己的学习成长历程,其次是希望大家能在这里能够学会在最少资源规划下实现无脑搭建openstack,然后再通过部署的过程去初步了解openstack。

本文以UnistedStack公有云为例,选择其他云服务器或者虚拟机的小朋友也不用太过纠结,原理是一样的。

这篇文章只是开始篇,比较简单粗暴。但是如果前期的准备比较充足的话,后面会省了很多麻烦。很多人一开始就遇到各种问题,比如网络不通,服务已经正常启动但是却抓不到包。所以为了避免这些麻烦,我们需要一开始就把防火墙清空关掉。

Openstack整体架构

我们可以通过官方的overview,大致了解一下openstack的整体架构和相关服务。

官方overView:



整体架构:



OpenStack组件:

后续会针对各个组件做介绍,现在只需要初步了解一下各个组件的功能即可。

Compute (Nova) 计算服务

Identity Service (Keystone) 认证服务

Image Service (Glance) 镜像服务

Networking (Neutron/Quantum) 网络服务

Dashboard (Horizon) 仪表板

Object Storage (Swift) 对象存储

Block Storage (Cinder) 块存储

Orchestration (Heat) 编排

Telemetry (Ceilometer) 监控

Database Service (Trove) 数据库服务

Data Processing (Sahara) 数据处理

网络拓补图

Although most environments include Identity, Image service, Compute, at least one networking service, and the dashboard, the Object Storage service can operate independently. If your use case only involves Object Storage, you can skip to Object Storage service after configuring the appropriate nodes for it. However, the dashboard requires at least the Image service, Compute, and Networking.

根据官方给的建议,我觉得如果不考虑性能和安全性的话,整个网络拓补图可以设计成方案一,我打算把neutron装到controller节点上(这样做很不好,会导致controller节点直接暴露在公网上),但是这样就只需要三个节点即可,而我的目的是在最少资源下实现openstack的基础功能。如果计算机资源充沛的同学我推荐使用传统方案二,因为openstack是耦合架构,所以部署的办法也是一样的,只需要把对应的服务安装到你拓补图中的对应节点中即可。

方案一:



如图所示,我用了三个网段,一个是Management管理网络,一个是Instance实例网络,另一个连接外网用的Public网络。至于这些网络是干什么用的,到neutron那里会做介绍。所以现阶段大家需要准备三个网段即可。其中controller节点需要三个网卡,compute节点需要两个网卡,storage节点只需要一个网卡就好。

方案二:



这个是比较经典的搭配方案,有兴趣的朋友可以自己尝试一下。

环境准备

因为公司免费的原因,我使用的是UOS云:

UnistedStack控制台传送门:https://console.ustack.com



下面步骤也可在vmware上操作。

创建三台虚拟机,建议使用官方推荐配置。4核+8G内存+20G硬盘,双核也可以,但是内存不够的,可以添加swap虚拟分区,将就着用。



按照官方文档要求,系统统一使用64位的centos7.0。话说你见过32位的centos7么?冷漠脸…..

创建网络,网卡,绑定静态IP,更改主机名。本人配置如下

ManageSubnet:192.168.0.0/24:

controller.example.com:192.168.0.17/24

compute.example.com:192.168.0.18/24

compute.example.com:192.168.0.19/24

InstanceSubnet:172.16.0.0/24:

controller.example.com:172.16.0.17/24

compute.example.com:172.16.0.18/24

PublicSubnet:10.10.10.0/24:

controller.example.com:10.10.10.17/24

配置NTP时间服务器

在每部机器上安装:

yum install chrony -y

在controller节点上修改/etc/chrony.conf配置文件,注释掉其他server,重新指定NTP服务器IP,并允许192.168.0.0/24网段的主机访问。保存退出,重启服务并设置为开机自启。

vim /etc/chrony.conf

server 192.168.0.17 iburst
allow 192.168.0.0/24
systemctl enable chronyd.service
systemctl start chronyd.service


在其他节点进行同样操作

vim /etc/chrony.conf

server 192.168.0.17 iburst
systemctl enable chronyd.service
systemctl start chronyd.service


配置DNS域名解析服务器:

偷懒,所以我用了静态的,修改每个节点的/etc/hosts

vim /etc/hosts

192.168.0.17 controller.example.com

192.168.0.18 compute.example.com

192.168.0.19 storage.example.com

172.16.0.17 controller.example.com

172.16.0.18 compute.example.com


可以相互ping一下对方的主机名做测试

如果ping不通,配置文件又没有错的话,可以查看一下你的防火墙。官方建议是关掉防火墙和selinux的。

systemctl mask iptables.service

systemctl mask ip6tables.service

systemctl mask ebtables.service

systemctl mask firewalld.service

setenforce 0


编辑selinux文件,设置为开机默认关闭

vim /etc/selinux/config

SELINUX=disabled

安装openstackPackage,每部机器都执行一遍:

安装yum-plugin-priorities包,防止高优先级软件被低优先级软件覆盖。

yum install yum-plugin-priorities -y


安装EPEL扩展yum源,这个包是会更新,去用前面的地址去找到最新的包:


yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-7.noarch.rpm -y


安装OpenStackyum源,同样会更新:


yum install https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-5.noarch.rpm -y


更新系统

yum upgrade -y


重启系统

reboot


安装openstackClient

yum install python-openstackclient -y


安装openstack的selinux

yum install openstack-selinux


Installing······!本文结束

have a nice day!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐