IaaS 平台构建
1.关闭防火墙,禁止开机自启
systemctl stop firewalld
systemctl disable firewalld
2.设置主机名
hostnamectl set-hostname controller
设置主机名 compute
3.设置 selinux,permissive
vim /etc/selinux/config
查看 selinux 状态 a
getenforce
4.上传镜像(controller 节点)
5.创建文件夹/opt/centos,/opt/iaas
6.挂载镜像到两个文件夹
mount -o loop 镜像 opt/centos or iaas
7.使用 df -h 查看磁盘信息
8.在/etc/yum.repos.d 创建 centos.repo 源文件(controller)
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
在/etc/yum.repos.d 创建 centos.repo 源文件(compute)
[centos]
name=centos
baseurl=ftp://192.168.31.14/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.31.14/iaas/iaas-repo
gpgcheck=0
enabled=1
9.通过配置好的本地 yum 源安装 vsftpd(controller)
10.修改 ftp 配置文件,指定匿名访问位置(controller)
vi /etc/vsftpd/vsftpd.conf
anon_root=/opt/
11.重启 ftp 服务,添加开机自启
12.安装 iaas-xiandian
yum install iaas-xiandian -y
13.按照要求配置 openrc.sh,另外,应该在 HOST_IP 上写上自己的本机 ip
14.使用脚本配置 ntp
iaas-pre-host.sh
15.安装 opnestark(不需要执行,集成在上个脚本中)
yum -y install openstack-utils openstack-selinux python-openstackclient
16.使用脚本安装数据库并查看其默认搜索引擎(controller)
yum update
yum upgrade
iaas-install-mysql.sh
看你的 mysql 当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
17.使用脚本安装 keystone(controller)
iaas-install-keystone.sh
18.注入变量
source /etc/keystone/admin-openrc.sh
19.以已有的 domain 新建用户
openstack user create --domain demo --password xiandian testuser
20.赋予用户 testuser admin 权限
openstack role add --project demo(项目名) --user demo(用户名) user(角色名)
openstack role add --project admin --user testuser admin
21.使用脚本安装 glance(controller)
iaas-install-glance.sh
安装完成后会报错 An unexpected error prevented the server from fulfilling your request. (HTTP 500)
重启两个节点重新执行 glance
22.创建镜像
glance image-create --name "examimage" --disk-format qcow2 --container-format bare --progress < /opt/iaas/images/CentOS_6.5_x86_64_XD.qcow2
23.设置镜像标签后查询镜像信息
openstack image set --tag "lastone" examimage
openstack image show examimage
23.安装 nova 服务(controller)
iaas-install-nova-controller.sh
24.安装 nova 服务(compute)
计算节点不知道谁是控制节点,所以需要把控制节点的 IP 写入到 hosts 文件中,之后再执行脚本
iaas-install-nova-compute.sh
25.查看 nova 节点使用状况
nova host-describe compute
26.gre 网络模式(controller)
iaas-install-neutron-controller.sh
iaas-install-neutron-controller-gre.sh
27.gre 网络模式(compute)
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh
28.配置网络
# 创建网络要注意云主机外网的网段和虚拟机的ip在同一网段,云主机内网随意。
# 创建外网
neutron net-create ext-net --provider:network_type=gre --provider:segmentation_id=1 --router:external
# 创建子网
neutron subnet-create ext-net (自己的内网所在网段)/24 --name ext-subnet --gateway (自己的内网网关)
# 创建内网
neutron net-create int-net1 --provider:network_type=gre --provider:segmentation_id=2
# 创建子网
neutron subnet-create int-net1 10.0.0.0/24 --name int-subnet1 --gateway 10.0.0.1
# 创建内网
neutron net-create int-net2 --provider:network_type=gre --provider:segmentation_id=3
# 创建子网
neutron subnet-create int-net2 10.0.1.0/24 --name int-subnet2 --gateway 10.0.1.1
# 创建路由器
neutron router-create ext-router
# 绑定内外网
neutron router-interface-add ext-router int-subnet1
neutron router-gateway-set ext-router ext-net
# 查看子网列表
neutron subnet-list
# 查看子网详细信息
neutron subnet-show int-subnet1
29.安装 dashboard 面板
iaas-install-dashboard.sh
访问 http://controller 节点的外网 ip/dashboard/
本机历经 30 余次创建后,云主机终于成功创建,网络分配正常,有问题留言