目录
OPENSTACK云平台基础架构
步骤
1.搭建虚拟机:
2.IAAS搭建流程第一步 基础搭建:
本来要搭建4节点,控制节点,网路节点,计算节点,存储节点,但是。。。。。此次搭建使用双节点测试,更多集群部署请自行增加即可。
Controller 控制节点–网络节点
要求: 内存4G+,2核+,双网卡(NET模式,仅主机模式),虚拟化引擎打开,硬盘一个大小看需求,镜像centos7。
Compute (计算节点)–存储节点
要求:内存8G+,2核+,双网卡(NET模式,仅主机模式),虚拟化引擎打开,硬盘3个大小看需求,镜像centos7。
说明:双网卡采用NAT和仅主机模式是为了更好的安全考虑,一个用于外网一个用于内部网络使用。
Controller搭建
1.修改主机名:
$ hostnamectl set-hostname controller
2.修改selinux
$ vi /etc/sysconfig
修改内容:disabled
3.关闭防火墙:
systemctl stop firewalld(重启自动关闭)
systemctl disable firewalld
4.YUM源配置
(1)创建目录 用于上传
$ mkdir /opt/centos
$ mkdir /opt/iaas
(2)上传CentOS-7-x86_64-DVD-1511.iso和 openstack-IaaS-v2.2.iso镜像至服务器上;(可以使用xftp上传至opt目录)
【注】为了更好的理解,此处采用再次上传的方式。
因为根据官网搭建,步骤零碎繁琐,所以将一些核心配置及需要的组件软件包等内容制作了属于自己的镜像。
openstack-IaaS-v2.2.iso是单独制作的openstack平台需要的软件包和核心配置集成的iso
(3)挂载镜像
$ mount [-o loop] /opt/CentOS-7-x86_64-DVD-1511.iso /opt/centos
$ mount [-o loop] /opt/XianDian-IaaS-v2.2.iso /opt/iaas
[注] 系统一旦重启,需要重新挂载。可以使用自动挂载
$ chmod 777 /etc/rc.local 授权
在 /etc/rc.local 中插入挂载命令
(4)编写本地yum仓库源
$ mv /etc/yum.repos.d/* /opt(移除yum.repos.d下的所有内容 防止与下面的源文件冲突)
在/etc/yum.repos.d创建centos.repo源文件(touch)
验证:
$ yum clean all
$ yum repolist
5.安装 ftp服务:
$ yum -y install vsftpd #安装ftp服务
$ sed -i ‘anon_root=/opt/’ /etc/vsftpd/vsftpd.conf(指定只能访问opt下)
$ systemctl start vsftpd
$ systemctl enable vsftpd
戳我进群一起交流技术吧:321255410【备注777】
6.编辑环境变量
安装xiandian服务:
$ yum install iaas-xiandian -y(在/ipt/iaas/base下 存在iaas-xiandian软件包)
修改核心基础配置:
$ vi /etc/xiandian/openrc.sh(可以通过xftp直接对文件修改)
【注】:详细配置可见官网
关于网卡,根据需求来配置NAT或者仅主机
Compute:(2核,8G)
1.修改主机名
$ hostnamectl set-hostname compute
2.修改selinux
$ vi /etc/sysconfig
修改内容:disabled
3.关闭防火墙
$ systemctl disable firewalld
$ systemctl stop firewalld
4.YUM源配置:
编写本地yum仓库源
$ mv /etc/yum.repos.d/* /opt #移走源
$ touch /etc/yum.repos.d centos.repo #创建新的源文件
$ vi /etc/yum.repos.d/centos.rpo #修改源文件
验证:
yum clean all
yum repolist
5.编辑环境变量:
$ yum install iaas-xiandian -y
$ vi /etc/xiandian/openrc.sh
【注】此处配置网卡文件名需要和控制节点保持一致
组件部署
controller
【注】因为服务较多且每个服务都需要安装及配置不同的子组件,所以这里就介绍下每一步干那些事情,命令就不一一赘述了。详见官网
文本中会读取使用openrc.sh配置内容
执行以下的交本完成服务安装:
iaas-pre-host.sh #主要行为:关闭防火墙,卸载网络管理工具,设置iptables,映射IP和主机名等
iaas-install-mysql.sh #安装及配置ntp时间服务;数据库服务 mongodb&mariadb ;消息队列rabbitmq
iaas-install-keystone.sh # httpd服务,安装keystone服务及与之相关的数据库,端点,服务,用户,角色,域名,环境变量等
iaas-install-glance.sh#glance服务及子组件,同样数据库,与之对应的端点,用户,角色,配置文件链接信息,keystone注册等
iaas-install-nova-controller.sh #安装nova服务及子组件,同样数据库,与之对应的端点,用户,角色,配置文件链接信息,keystone注册等
iaas-install-neutron-controller.sh#安装网络服务同样数据库,与之对应的端点,用户,角色,配置keystone注册,nova链接,同时创建网桥等行为 此处很重要关系到云主机通信
iaas-install-neutron-controller-gre.sh;#更多关于网桥的配置及相关服务安装
iaas-install-dashboard.sh #web界面
iaas-install-cinder-controller.sh#安装cinder服务及子组件,同样数据库,与之对应的端点,用户,角色,配置文件链接信息,keystone注册等
iaas-install-swift-controller.sh(先执行此脚本);#安装swift服务及子组件,同样数据库,与之对应的端点,用户,角色,配置文件链接信息,keystone注册等
compute
iaas-pre-host.sh
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh;
iaas-install-cinder-compute.sh
iaas-install-swift-compute.sh
最后访问dashboard页面,域名,用户,密码登录信息都在keystone交本中写好了。
好了 学习也就到此结束了 想了解更多相关知识请关注我吧!衷心感谢每一个认真阅读我文章的人!