首先看看IaaS的基本模式
以上是IAAS平台的基本环境配置,这些服务配置将在接下来的内容了呈现
controller:
#hostnamectl set-hostname controller
#bash
compute:
#hostnamectl set-hostname compute
#bash
controller和compute都要配置
#vi /etc/hosts
首先配置controller的yum源
[root@controller ~]#
#cd /etc/yum.repos.d/
#rm -rvf *
#vi ftp.repo 创建源文件
compute的yum源先不急着配
在上一篇中提到一个小镜像cirros-0.3.4-x86_64-disk.img,此时也可以进行下一步,对电脑配置自信的可以忽略,
[root@controller ~]#
#cd
#cd /opt/
#mkdir {centos,iaas} (在/opt 目录下建立两个文件夹,用来挂载接下来的两个镜像文件)
#mkdir cirros (此处选做)
#cd
#mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos/ (上传Centos的镜像到centos文件夹下)
#mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas/ (此处和上面同理)
#mount -o loop cirros-0.3.4-x86_64-disk.img /opt/cirros/ (选做)
挂载成功会出现read-only等字样
#yum clean all (清除缓存)
#yum list (验证yum源)
[root@controller ~]#
#yum install -y vsftpd (搭建ftp服务器)
#vi /etc/vsftpd/vsftpd.conf (修改ftp的配置文件)
保存退出
#systemctl restart vsftpd (重启ftp服务)
#systemctl enable vsftpd (设置开机自启)
controller和compute都要做:
#setenforce 0
#getenforce (出现Permissive则表示防火墙的安全级别已经降低了)
这种方式时临时的,如果重启了虚拟机,需要再执行一次
#systemctl stop firewalld (关闭防火墙)
#systemctl disable firewalld (设置防火墙开机不自启)
先前已经配好了controller的yum源,这里只要用scp传过来,进行一些修改即可
[root@compute ~]#
#cd /etc/yum.reops.d/
#rm -rvf *
#scp 192.168.100.10://etc/yum.repos.d/* .
出现(yes/no)和password就依次填写yes和000000,后面还会遇到几次,也是同样的方法
#cd /etc/yum.repos.d/
#vi ftp.repo
照着上图进行修改从controller传来的ftp.repo文件内容即可
接着顺便清除缓存和验证compute的yum源
#cd
#yum clean all
#yum list
这些都做好后进行下一步操作
#yum install -y iaas-xiandian
接下来是编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
首先编辑controller的openrc.sh脚本文件
[root@controller ~]#
#vi /etc/xiandian/openrc.sh
出现如下图的文件内容:
上图是我已经修改过的(注意:该脚本文件配置每一个环节都不能有错,不然后面有些脚本会执行失败!!!)
配置内容:
HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=enp0s8(外网网卡名,第一篇文章有提到)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sdb1(空白分区名,第一篇文章里有提到)
SWIFT_PASS=000000
OBJECT_DISK=sdb2(空白分区名)
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
(注意要去掉前面的‘#’)
保存,退出
至此,controller的openrc.sh配置好了,接下来传给compute的就可以了
[root@controller ~]#
#scp /etc/xiandian/openrc.sh 192.168.100.20://etc/xiandian/openrc.sh
输入:yes--输入:000000
此时两个节点的openrc.sh都配好了,建议都进行一下接下来的命令:
controller和compute
#source /etc/xiandian/openrc.sh
接下来就是进入脚本跑酷环节!!!
(内容包括:安装Openstack包,配置域名解析,配置防火墙和Selinux,安装ntp服务)
controller和compute:
#iaas-pre-host.sh
安装完成后会提示重启。因为我们在本篇内容第一步修改了主机名,所以不需要重启
(内容包括:安装Mysql数据库服务,安装Mongo数据库服务,安装RabbitMQ服务,安装memcahce)
[root@controller ~]#
#iaas-install-mysql.sh
(内容包括:安装keystone服务软件包,创建Keystone数据库,配置数据库连接,为keystone服务创建数据库表,创建令牌,创建签名密钥和证书,定义用户、租户和角色,创建admin-openrc.sh)
[root@controller ~]#
#iaas-install-keystone.sh
(内容包括:安装Glance镜像服务软件包,创建Glance数据库,配置文件创建数据库连接,为镜像服务创建数据库表,创建用户,配置镜像服务,创建Endpoint和API端点,启动服务,上传镜像)
[root@controller ~]#
#iaas-install-glance.sh
(内容包括:安装Nova 计算服务软件包,创建Nova数据库,创建计算服务表,创建用户,配置计算服务,创建Endpoint和API端点 ,启动服务,验证Nova,安装Nova计算服务软件包,配置Nova服务,检查系统处理器是否支持虚拟机的硬件加速,启动,清除防火墙)
controller和compute同时:
[root@controller ~]#
#iaas-install-nova-controller.sh
[root@compute ~]#
#iaas-install-nova-compute.sh
(内容包括:创建Neutron数据库,创建用户,创建Endpoint和API端点 ,安装neutron网络服务软件包,配置Neutron服务,编辑内核,创建数据库,启动服务和创建网桥,安装软件包,配置Neutron服务,编辑内核,启动服务进而创建网桥)
controller和compute同时:
[root@controller ~]#
#iaas-install-neutron-controller.sh
[root@compute ~]#
#iaas-install-neutron-compute.sh
[root@controller ~]#
#iaas-install-neutron-controller- (按两次‘Tab’)
可以看见:
iaas-install-neutron-controller-flat.sh
iaas-install-neutron-controller-gre.sh
iaas-install-neutron-controller-vlan.sh
我们选择安装gre.sh
controller和compute同时:
[root@controller ~]#
iaas-install-neutron-controller-gre.sh
[root@compute ~]#
iaas-install-neutron-compute-gre.sh
(内容包括:安装Dashboard服务软件包,配置,启动服务)
[root@controller ~]#
#iaas-install-dashboard.sh
此时可以通过浏览器网址栏输入http://192.168.100.10/dashboard进入先电云计算平台
域:demo
用户名:admin
密码:000000
网络–网络–创建网络
管理员–网络–创建网络
创建好后–点击网络名称中的ext
网络–路由–新建路由
[root@controller ~]#
#source /etc/keystone/admin-openrc.sh
# glance image-create --name centos7 --disk-format qcow2 --container-format bare --progress < /opt/iaas/images/CentOS_7.2_x86_64_XD.qcow2
(此处将CentOS的镜像上传,下一步可以一次在平台上建立一个虚拟机,做测试)
上一篇文章介绍了如何用secureCRTP上传镜像,其中补充了一个小镜像也可以用上面一样的命令上传到先电平台
# glance image-create --name cirros --disk-format qcow2 --container-format bare --progress < /opt/iaas/images/cirros-0.3.4-x86_64-disk.img
在云平台中–计算–云主机–创建云主机
绑定浮动IP–‘+’–分配IP–关联
计算–访问&安全–(defult)管理规则–删除原有的规则–添加规则
分别添加–所有ICMP,所有TCP,所有UDP–并且各自添加 出口 和 入口
此时可以访问之前创建好的云主机123了,启动云主机后,可以直接在CRT上连接
好,继续脚本跑酷!!!
controller和compute同时:
(内容包括:安装Cinder块存储服务软件包,创建数据库,创建用户,创建Endpoint和API端点 ,配置Cinder服务,创建数据库,启动服务,安装块存储软件,创建LVM物理和逻辑卷,修改Cinder配置文件,重启服务,验证)
[root@controller ~]#
#iaas-install-cinder-controller.sh
[root@compute ~]#
#iaas-install-cinder-compute.sh
完成后接着还有一步:
[root@controller ~]#
#source /etc/keystone/admin-openrc.sh
controller和compute同时:
(内容包括:创建用户,创建Endpoint和API端点 ,编辑/etc/swift/proxy-server.conf,创建账号、容器、对象,编辑/etc/swift/swift.conf,启动服务和赋予权限,安装软件包,配置rsync,配置账号、容器和对象,修改Swift配置文件,重启服务和赋予权限)
[root@controller ~]#
#iaas-install-swift-controller.sh
[root@compute ~]#
#iaas-install-swift-compute.sh
(内容包括:安装Trove数据库服务的软件包,创建数据库,创建用户,创建Endpoint和API端点 ,配置trove.conf文件,配置trove-taskmanager.conf,配置trove-conductor.conf文件,配置trove-guestagent.conf,同步数据库,启动服务)
需注意安装Trove服务之前需要配置好网络(flat或gre),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败。
[root@controller ~]#
#iaas-install-trove.sh
[root@controller ~]#
#cat /usr/local/bin/iaas-install-trove.sh
(查看上传的镜像)
将提供的MySQL_5.6_xiandian.qcow2 上传到系统内
[root@controller ~]#
#glance image-create --name "mysql-5.6" --disk-format qcow2 --container-format bare --progress < MySQL_5.6_XD.qcow2
# ls /opt/iaas/images
如上图可以查看到 MySQL_5.6_XD.qcow2 已经成功上传
[root@controller ~]#
# trove-manage datastore_update mysql ''
[root@controller ~]#
# trove-manage datastore_version_update mysql mysql-5.6 mysql ${Glance_Image_ID} '' 1
将其中${Glance_Image_ID} 改为26节第一张图里面的ID后面的字符串
# trove create mysql-1 ${FLAVOR_ID} --size 5 --databases myDB --users user:r00tme --datastore_version mysql-5.6 --datastore
mysql
将其中${FLAVOR_ID}改为2
创建完成后查询trove列表
[root@controller ~]#
#trove list
(内容包括:安装heat编配服务软件包,创建数据库,创建用户,创建Endpoint和API端点 ,配置Heat服务,创建数据库,启动服务)
[root@controller ~]#
#iaas-install-heat.sh
nginx模板文件存放在/etc/xiandian/目录下,在使用模板之前需成功安装,ceilometer监控服务以及alarm监控服务。
[root@controller ~]#
#ls /etc/xiandian/
可以查看nginx模板
构建一台http服务器,将lb-server.yaml模板文件上传至http服务器中。
(内容包括:安装Ceilometer监控服务软件包,创建数据库,创建用户,创建Endpoint和API端点 ,配置Ceilometer,启动服务,监控组件,安装软件包,配置Ceilometer)
controller和compute同时:
[root@controller ~]#
#iaas-install-ceilometer-controller.sh
[root@compute ~]#
#iaas-install-ceilometer-compute.sh
(内容包括:创建数据库,创建keystone用户,创建Endpoint和API,安装软件包,配置aodh,同步数据库,启动服务)
[root@controller ~]#
#iaas-install-alarm.sh
至此,IAAS平台搭建完成!!!
请看下一篇PAAS的平台搭建!!!