目标:快速搭建openstack kilo并了解其主要服务模块。
openstack从虚拟化服务模块来划分:
- 弹性计算(nova compute)
- 存贮(cinder、swift)
- 网络(neutron或nova network)
Trove数据库存贮应该还是比较重大的一块未被纳入,应该还未成熟,但对于一整套完整的云服务来说,这一块是必不可少的。对于一个初学者来说,由于openstack涉及到不同的基础知识,特别是从开发人员的角度,可能比较少接触网络这块,那可能到neutron这里的网络虚拟化就需要花更多的时间。而在存贮这里,如果没有提前做磁盘上的规划分区,在搭建配置的过程往往要重新安装系统,重新做磁盘分区,不过如果你有足够的时间,多装几次也算是练手。
基本概念
openstack每一个模块安装后,都有对应的操作命令。dashboard则提供界面资源管理,界面看起来也更直观一些。openstack最主要的一个业务关系。
- 项目
- 用户(及相关角色权限)
- 实例
- 存贮
- 镜像
- 网络
所有的资源都基于项目,初始化service项目,提供必要的服务接口资源。admin角色具有管理这些系统资源的权限,系统级资源主要有项目、用户、项目-用户关系、用户-角色关系、系统信息(cpu、内存、存贮、可分配的IP池)、公用的镜像及快照、网络安全模板、系统参数等。管理员可以新建一个项目,并分配给指定的用户,比如新建一个demo项目分配给demo这个用户,这样demo用户(也称租户)就可以在demo项目下,申请和创建独立的私有资源,比如实例、网络、网络安全、存贮、快照等。
openstack学习之Single Machine搭建及关键点
All-In-One Single Machine
如果查看本地运行开发环境,可以搭建单机版,这是最小安装,网络和存贮都是最简版,不适于正式环境。下载完单机版的openstack后,先修改配置文件,先把/sample/local.conf拷贝一份到安装目录,然后再修改local.conf,主要是对网络的配置修改
HOST_IP=192.168.1.224 //本机的IP地址
FLOATING_RANGE=192.168.1.224/27 //绑定的外网IP地址225-254
FLAT_INTERFACE=eno1 //eno1是你网卡的名称
配置完成后执行./stack.sh进行安装。如果你安装多次,产生一些垃圾数据,有必要执行./clean.sh清理掉这些垃圾数据,再进行安装。
绑定Floating IP以及从外网SSH实例
在demo项目下,新开一个实例,这时在dashboard下,可以通过页面直接链接进去。默认情况下会有一个10网段开头的内网ip,你的工作网段192.168.1.*与这个租户内网是不通的,按上面的网络配置,可以绑定一个浮动ip,比如分配了192.168.1.225。这时在工作网段还是无法ping或ssh192.168.1.225,需要在项目下设置你的安全组。设置ICMP任意接入、SSH接入22端口接入。再次ping或ssh就可以了。
openstack kilo学习之网络规划
nova network相对简单,只能组建一个扁平的网络结构,不支持二层网络隔离,只支持VLAN模式;neutron支持二层网络隔离,支持GRE或VXLAN模式,使用openvswitch技术,稳定性在kilo版里有待检验。
标准的nova network网络拓补图
标准的neutron网络拓补图
在学习过程中,不可能搭建这么多实体的网络,通常我们把存贮网络Strage network跟管理网络Manager network共用。在公司的内部环境也不可能真的拉一根外网,简单接在公司的网络上。 在nova network下网络结构简单很多,但是功能也相对较弱。
nova network网络进一步简化
controller node:一个网卡
compute node:两个网卡
如果觉的麻烦,甚于可以把管理网络的