一,所需软件


1,XianDian-IaaS-v2.2.iso (版本不同,基本服务差别不大。)


2,CentOS-7-x86_64-DVD-1511.iso


 //所有脚本在安装过iaas-xiandian后以命令形式直接执行

//注意分辨那个节点需执行那个脚本,可用TAB键补全)

// 脚本均在/usr/local/bin/目录下


//有可能漏有过程或者错误的步骤,遇到问题请提问,不要做不下去还继续做。


二:系统安装设置

时区选择上海

关闭dump

手动分区

语言英语

note:这里计算节点服务器里有两个硬盘,只选择一个小的作为系统分区,另一块备用。

三,IP及主机名设置


controller:enp8s0:192.168.100.10 enp9s0:192.168.200.10


compute:enp8s0:192.168.100.20 enp9s0:192.168.200.20


   note: 这里enp8s0是第一块网卡,enp9s0为第二个网卡,具体情况结合实际。

四,安装步骤

1-2.配置网络,主机名


(1)controller节点


vi /etc/sysconfig/network-scripts/ifcfg-enp*(具体网口文件)。



enp8s0: 192.168.100.10

      

enp9s0: 192.168.200.10



配置主机名



hostnamectl set-hostname controller



按ctrl+d 退出 重新登陆



(2)compute 节点



配置网络:



enp8s0: 192.168.100.20



enp9s0: 192.168.200.20         

配置主机名



hostnamectl set-hostname compute



按ctrl+d 退出 重新登陆



                       


note: 第二块网卡不要配置网关,否则后面执行 iaas-pre-host.sh 脚本后网络瘫痪。


配置域名解析


controller和compute节点



/etc/hosts



增加如下内容



192.168.100.10 controller



192.168.100.20 compute







关闭防火墙并设置开机不自启



#controller和compute节点



systemctl stop firewalld



systemctl disable firewalld




   配置selinux

     controller和compute节点



修改配置文件 /etc/selinux/config



SELINUX=permissive




 note:这里修改后重启才会生效,可以用setenforce 0临时关闭,getenforce查看状态。





1-3 配置yum源


a.删除yum源配置文件


#controller和compute节点


rm -rf /etc/yum.repos.d/*


b.创建repo文件


vi /etc/yum.repos.d/centos.repo


[centos]



name=centos



baseurl=file:///opt/centos



gpgcheck=0



enabled=1



[iaas]



name=iaas



baseurl=file:///opt/iaas/iaas-repo



gpgcheck=0



enabled=1



# compute


centos.repo



[centos]


name=centos


baseurl= ftp://192.168.100.10/centos


gpgcheck=0


enabled=1


[iaas]


name=iaas


baseurl=ftp://192.168.100.10/iaas/iaas-repo


gpgcheck=0


enabled=1



c.挂载iso文件

[root@controller ~]# mount CentOS-7-x86_64-DVD-1511.iso  /opt/centos



[root@controller ~]# mount -o loop XianDian-IaaS-v2.2.iso  /opt/iaas


note:这里为直接挂载,随时可以取消挂载即会失效。和以下复制到本地区别为重启后无需重新挂载。当然,也可以在/etc/fstab配置文件里添加一行,使系统开机自动挂载。

  复制到本地,如下

openstack云平台搭建docker Openstack云平台搭建相关的组件_主机名


配置主机名





hostnamectl set-hostname controller



按ctrl+d 退出 重新登陆


hostname <主机名>为临时主机名, hostnamectl set-hostname <主机名>为永久性,可在/etc/hostname配置文件里查看。




d.搭建ftp服务器,开启并设置自启


[root@controller ~]# yum install vsftpd –y


[root@controller ~]# vi /etc/vsftpd/vsftpd.conf


添加 anon_root=/opt/ //匿名访问目录


保存退出


[root@controller ~]# systemctl start vsftpd



[root@controller ~]# systemctl enable vsftpd



 


e.清除缓存,验证yum源


#controller和compute节点


# yum clean all


# yum list




1-4 编辑环境变量


#controller和compute节点



# yum install iaas-xiandian -y


编辑文件/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=enp9s0(外网网卡名,此外网指的是云主机通外部网络的网卡,即服务器内网网卡)


CINDER_DBPASS=000000


CINDER_PASS=000000


TROVE_DBPASS=000000


TROVE_PASS=000000


BLOCK_DISK=md126p4(空白分区名)//结合具体分区名


SWIFT_PASS=000000


OBJECT_DISK=md126p5(空白分区名)


STORAGE_LOCAL_NET_IP=192.168.100.20(计算节点ip)


HEAT_DBPASS=000000


HEAT_PASS=000000


CEILOMETER_DBPASS=000000


CEILOMETER_PASS=000000


AODH_DBPASS=000000


AODH_PASS=000000



可以使用scp命令直接将此配置文件从controller节点复制到compute节点


1-5 通过脚本安装服务


# Controller节点和Compute节点


[root@controller ~]# iaas-pre-host.sh


[root@compute ~]# iaas-pre-host.sh



执行完毕后


#controller


[root@controller ~]# vi /etc/ntp.conf


删除默认server规则


添加以下内容


server 127.127.1.0


fudge 127.127.1.0 stratum 10


[root@controller ~]# systemctl start ntpd


[root@controller ~]# systemctl enable ntpd



#compute


[root@compute ~]# ntpdate controller


[root@compute ~]# chkconfig ntpdate on


//2.1或者2.2版本虽然已经包含ntp配置,但实际过程中并未配置,需要手动再配置一遍。



同时重启


[root@controller ~]#reboot


[root@compute ~]# reboot


2-1,安装mysql服务


#controller


[root@controller ~]# iaas-install-mysql.sh


3-1,安装keystone服务


#controller


[root@controller ~]# iaas-install-keystone.sh


4-1,安装glance镜像服务


#controller


[root@controller ~]# iaas-install-glance.sh


4-2,上传镜像


[root@controller ~]# source /etc/keystone/admin-openrc.sh


[root@controller ~]# glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress < /opt/images/centos_7-x86_64_xiandian.qcow2 //此为测试镜像服务是否正常,可以后面再上传


//这里采用<来添加本地文件,但glance image-create有--file 参数用来指定本地文件,


 //可以了解下<, <<, >, >>用法



5-1.安装Nova计算服务


#controller


[root@controller ~]# iaas-install-nova-controller.sh


#compute


[root@compute ~]# iaas-install-nova-compute.sh


6-1,安装neutron服务


#controller


[root@controller ~]# iaas-install-neutron-controller.sh


#compute


[root@compute ~]# iaas-install-neutron-compute.sh


6-2,创建neutron网络


选择一种网络进行安装



1) flat网络


#controller


[root@controller ~]# iaas-install-neutron-controller-flat.sh


#compute


[root@compute ~]# iaas-install-neutron-compute-flat.sh



2) gre网络


#controller


[root@controller ~]# iaas-install-neutron-controller-gre.sh


#compute


[root@compute ~]# iaas-install-neutron-compute-gre.sh



3) vlan网络


#controller


[root@controller ~]# iaas-install-neutron-controller-vlan.sh


#compute


[root@compute ~]# iaas-install-neutron-compute-vlan.sh


7-1,安装dashboard服务


#controller


[root@controller ~]# iaas-install-dashboard.sh


7-2,访问


打开浏览器访问Dashboard


http://controller(或本机内网ip)/dashboard


注:域demo, 用户名admin , 密码000000


检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。


7-3,创建云主机


(1)管理员 → 网络 → 创建网络(内外网) → 创建子网(外网填服务器的内网网段,即第二块网卡网段) //外部网络必须由管理员创建


(2)项目 → 网络 → 路由 → 新建路由 → 添加网关和内网接口


(3)项目 → 计算 → 访问安全 → 管理规则 → 添加规则(允许所有ICMP、TCP、UDP)// 此步骤会影响是否可以访问外网


(4)项目 → 计算 → 云主机 → 创建云主机 → 绑定浮动IP(外部通信IP)



8-1,安装cinder块存储服务


#controller


[root@controller ~]# iaas-install-cinder-controller.sh


#compute


[root@compute ~]# iaas-install-cinder-compute.sh


9-1,安装swift对象存储服务


#controller


[root@controller ~]# source /etc/keystone/admin-openrc.sh


[root@controller ~]# iaas-install-swift-controller.sh


#compute


[root@compute ~]# iaas-install-swift-compute.sh


10-1,安装trove服务


#安装Trove服务之前需要配置好网络(flat网络或gre网络),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败


#controller


[root@controller ~]# iaas-install-trove.sh


11-1,安装heat服务


#controller


[root@controller ~]# iaas-install-heat.sh


12-1,安装ceilometer监控服务


#controller


[root@controller ~]# iaas-install-ceilometer-controller.sh


#compute


[root@compute ~]# iaas-install-ceilometer-compute.sh


13-1,安装alarm服务


#controller


[root@controller ~]# iaas-install-alarm.sh


添加控制节点资源到云平台

 14.1 修改openrc.sh

  把compute节点的IP和主机名改为controller节点的IP和主机名

 14.2 运行iaas-install-nova-compute.sh

在控制节点运行iaas-install-nova-compute.sh






   问题总结:

1,创建实例后出现两个IP,是由于openstack平台bug导致,导致原因为资源不够,将内存或CPU配额减小就可以解决。

2,新建远程连接或重置连接窗口都要初始化环境变量       source /etc/keystone/admin-openrc.sh 

3,注意浏览器缓存问题,有时在web页面上创建一个实例或者网络很长时间但也没有报错可以尝试清空cache。



  版本说明          

   Xiandian-IaaS-2.2版本新增了Lbaas负载均衡服务,加强网络数据处理能力、提高网络的灵活性和可用性。

   Xiandian-IaaS-2.2版本新增了Fwaas防火墙服务,提供防火墙策略,增加传输数据的安全性。