看来前面的几个回答发现讲的都是假大空或者是把openstack旧版本的东西复制过来的!
通过本文的方法可以直接把openstack(版本为O版如何构建私有云,现在最新版为Q版)搭建出来进行学习。当然主要针对实验环境,生产环境要复杂的多。
再搭建之前,我先说一下我的看法(针对于没有毕业但是日后要想从事相关工作的建议)
1.熟悉linux,最好能用linux作为桌面,增加你使用linux的时间,有条件参加红帽的证书认证
2.使用Git,最佳的方式就是在github做一个blog,记录自己日常的经验和教训,这个非常重要,掌握学习方法比你懂啥更加重要
3.配置管理工具:ansible
4.熟悉KVM,linux Bridge,这都是基础。
5.网络如果可以达到CCNA的水平,因为openstack的网络比较难。关于openstack的介绍,网上有很多都讲的不错,因此我就不累赘了。
本文主要是来说一下关于如何搭建openstack云平台?
openstack的简述openstack的作用是什么?相信基本听过这个词的人都知道openstack是虚拟化,是云计算,是高新技术。但是我这里要纠正一下openstack只是相当于一个管理平台,如果正式一点来讲的话,openstack是一个开源的云计算管理平台。
openstack主要分为控制,计算,网络,存储四大部分(关于各个的作用下面会慢慢提到)。
搭建openstack之前在搭建之前,首先要考虑的是,要部署单节点还是多节点。
如果是单节点的话(也就是常说的all in one,有时候也可以说AIO),这种方式只需要一台服务器就可以满足。所有的组件都安装在一个服务器上。
如果是多节点的话,就要考虑规划上面提到的四大块了。因为openstack的耦合性,控制,计算,网络,存储是可以在不同或者相同的服务器上的。在实际环境中,一般会在控制节点通过keepalived方式实施高可用(HA),如果集群规模大的话,网络节点也需要进行高可用。
搭建openstack的方法在做任何事情的时候,我认为如果不去做只是一味的去想的话,最终也做不成。
openstack的学习一样如此,要想了解openstack,那就先部署一套出来,只有当你部署出来的时候,你才会对openstack有了比较深的认识。因为openstack是一个开源的项目,更新速度远远超过书本产出。如果只是看书本的话,最终会出现跟不上新版本。
我总结了以下几个部署的方法及其优缺点:
1.手动部署
openstack官网有详细的指导和部署方法。
这种部署的好处是可以直接通过官网部署最新版的openstack,坏处就是对英文不好的不友好(不过一般听过这个的英文都不差),如果安装官网的部署会发现有很多坑等着你去踩。
2.fuel部署
fuel由Mirantis公司开发,他是社区贡献排名前5名中唯一一个靠软件和服务吃饭的公,Fuel的版本节奏很快,平均每两个月就能提供一个相对稳定的社区版。
fuel优点为:
a.节点的自动发现和预校验
b.配置简单、快速
c.支持多种操作系统和发行版,支持HA部署,最关键的一点是fuel支持openstack健康度检查。
至于缺点的话:个人认为,对服务器网卡要求有点严格,还有就是网络的VLAN划分是难点。
3.Devstack
这种部署方式直接git源码,进行安装,目的是让开发者可以快速搭建一个环境,如果是第一次用可以尝试这种方法。
优点为:安装简单,只需要git下源码,然后直接进行安装就可以
缺点为:不支持添加和减少单个组件。只能将整个环境卸载再重新安装。
4.kolla
这种方式是利用了docker技术,完美的承载了openstack,可以说是开创了全新高效的方法。基于ansible和Docker容器部署OpenStack,所需软件包被封装到专门的Docker镜像中,安装速度很快,半个钟头左右就能安装完成。
优点:基本可以说是颠覆了之前所有的部署方式,而且在实际操作中远远超过了其他的部署方式,同时也解决了之前openstack在版本升级的时候的难点。也远远简化了openstack部署的复杂程度,大大降低了openstack的部署难度,从而使部署openstack降到了安装系统的难度。
缺点:无,个人暂时没发现什么问题,在1000个以下的节点,可以完美承载openstack。
openstack组件介绍控制节点,负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
计算节点,主要为虚拟机提供计算环境(CPU,内存)
网络节点,负责外网与内网之间的通信
存储节点,负责为虚拟机提供存储资源
openstack(Pike,简称P版)安装方法(kolla)本文的openstack部署方法采用kolla-ansible,后端存储采用ceph!!!
准备环境:系统选择为centos7.4,网卡需要俩个
以下为安装方法:
1.修改主机名:hostnamectl set-hostname pike
2.关闭NetworkManager,firewalld,selinux
3.查看是否开启虚拟化
egrep \"vmx|svm\" /proc/cpuinfo
4.配置docker
可以直接用yum install docker 来安装
如果想要安装docker-CE版的话,可以去网上找下教程。顺便提醒一下,最后去阿里上面配置好自己的加速服务(主要是为了加速下载镜像,不然速度能坑死)
5.安装ansible
yum -y install ansible -y
默认docker的registry是使用5000端口,对于OpenStack来说,有端口冲突,所以将端口改成了4000。
6.下载PIKE版的官方镜像
7.下载kolla-ansible
8.如果是实体机可以忽略,如果是虚拟机一定要注意,新建/etc/kolla/config/nova/nova-compute.conf
然后在该文件下加入下面的内容:
[libvirt]
virt_type=qemu
cpu_mode = none
因为默认是KVM,如果是虚拟机需要修改成qemu。
9.给存储打标签
作用是方便kolla进行安装的时候自动识别分区,
KOLLA_CEPH_OSD_BOOTSTRAP 这种代表常规磁盘
KOLLA_CEPH_OSD_BOOTSTRAP_J 这种代表日志盘,主要作用是为了加快读写,加入了固态
高速缓存层。
10.配置最关键的文件 global文件。
下面的网络接口一定要和你服务器的网卡名字统一。
11.创建ceph副本数配置文件(ceph是一个分布式存储,以后有机会会提到)
在/etc/kolla/config/ceph.conf加入下面的内容:
[global]
osd pool default size = 1
osd pool default min size = 1
其中的size取决于硬盘数量,或者说是集群的规划,这里设置为1即可。
12.修改密码文件passwords.yml
vim /etc/kolla/passwords.yml
找到keystone_admin_password:这里填写你自己的密码。
13.运行检查工具,检查是否有问题。
如果这个检查通过,代表可能会安装成功,如果不通过,后面百分百安装不成功。
命令为:kolla-ansible prechecks
14.安装部署
命令为:kolla-ansible deploy,这个时候就开始安装了,我们也可以去喝杯茶,然后看个报纸等待安装结束。
15.生成admin-openrc.sh文件
该文件包含了keystone验证信息。
kolla-ansible post-deploy
经过以上15步的操作,完整的P版openstack就安装成功了,是不是很简单??
结束通过以上的方法,我们就可以获得一个标准的openstack。
访问方式为在浏览器直接输入你的服务器IP,就可以访问。
部署完成以后,就可以着手研究openstack的各个组件了。
本文主要讲了如何部署一个openstack,为什么不说怎么学习呢?我认为如果你能独立部署一个单节点openstack,那么你对openstack也有一定的认识了。
始终坚信:实践才是硬道理如果觉得有用的可以点个赞或者关注,有部署或者疑问的可以留言或者私信。
开源才是王道。