目录
前言
一、创建虚拟机
创建controller节点
创建compute节点
二、iaas云平台搭建
三、创建iaas云主机
环境说明
先电2.4
Centos7-1804
VMware16
secureCRT 8.3和secureFX 8.3
前言
主要说明在控制节点和计算节点上,通过脚本的形式,安装OpenStack的iaas安装步骤和创建可运行的云主机。提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
文章来源地址https://uudwc.com/A/09P
一、创建虚拟机
-
创建controller节点
新建虚拟机
主要说明在控制节点和计算节点上,通过脚本的形式,安装OpenStack的iaas安装步骤和创建可运行的云主机。提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
文章来源地址https://uudwc.com/A/09P
一、创建虚拟机
-
创建controller节点
新建虚拟机
这里选择稍后安装,然后点击下一步
选择Linux 版本选择Centos 7 64位,然后点击下一步
我们先创建控制节点,名字改为controller,存储位置自行选择
内存和处理器数量根据个人而定(我这里只是演示一个步骤,随便选的,也可以按照我这样设,搭个最小化的来练习还是没问题的)
第一张网卡选择仅主机模式
默认推荐就行
创建一个新的虚拟磁盘
虚拟机的硬盘是一个虚拟的,实际上以文件夹的形式存在于宿主机上的。如果虚拟机所在的宿主机盘符只有50G,那么虚拟机最多能占用50G的内存。
到这里就创建好了,点击完成
点击编辑虚拟机设置
处理器必须开启虚拟化,没用的硬件可以移除掉
放入准备好的镜像
计算节点需要添加一块硬盘来放置给cinder(块存储)和swift(对象存储)服务预留的。
再添加一块网卡为NAT
拉到最下面设置为中文,开始安装
默认最小化安装,点击安装位置
点击配置分区,然后点完成(演示步骤,硬盘大小默认设置,真实环境建议高于默认值)
点击创建
接受更改
然后开始安装(这里也可以直接在安装界面配置ip,也可以使用命令配置)
设置root密码,我设置的是000000六个0
重启
在最小化界面,输入用户名root和密码就可以登陆了
-
创建compute节点
controller安装完成后,关机,然后克隆一个compute节点的虚拟机
从虚拟机当前状态,创建完整克隆
虚拟机名称改为compute,点击完成
二、iaas云平台搭建
1.配置控制节点主机名
[root@controller ~]#hostsnamectl set-hostname controller
ctrl+D退出重新登陆
2、配置控制节点ip地址(在配置文件中修改和添加以下内容)
[root@controller ~]#ip a #查看网卡名称
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第一块网卡名,仅主机模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第二块网卡名,NAT模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.10
PREFIX=24
[root@controller ~]# systemctl restart network #重启网卡
3、配置计算节点主机名
[root@controller ~]#hostnamectl set-hostname compute
Ctrl+D #退出重新登录
4、设置计算节点IP地址(修改和添加以下内容)
[root@controller ~]#ip a #查看网卡名称
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第一块网卡名,仅主机模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第二块网卡名,NAT模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.20
PREFIX=24
5、配置控制节点主机名映射
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 controller
192.168.100.20 compute
6、配置计算节点主机名映射(在控制节点使用scp复制过去)
[root@controller ~]# scp /etc/hosts 192.168.100.12://etc/hosts
[root@controller ~]# root@192.168.100.20's password: #输入密码000000
hosts 100% 207 77.7KB/s 00:00
[root@compute ~]# systemctl restart network #重启网卡
7、关闭防火墙(两个节点都要)
systemctl stop firewalld
systemctl disable firewalld
8、清除iptables(两个节点都要)
iptables -F
iptables -X
iptables -Z
iptables-save
9、关闭selinux(两个节点都要)
[root@controller ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@controller ~]# setenforce 0
[root@controller ~]# getenforce 0
10、配置控制节点yum源
使用secureFX上传XianDian-IaaS-V2.4和CentOS-7-x86_64-DVD-1804镜像到root目录下
[root@controller ~]# ls
anaconda-ks.cfg CentOS-7-x86_64-DVD-1804.iso XianDian-IaaS-V2.4.iso
挂载CentOS-7-x86_64-DVD-1804.iso
[root@controller ~]# mount -o loop /root/CentOS-7-x86_64-DVD-1804.iso /mnt/
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# cp -rvf /mnt/* /opt/centos
[root@controller ~]# umount /mnt/
挂载XianDian-IaaS-V2.4
[root@controller ~]#mount -o loop /root/XianDian-IaaS-V2.4.iso /mnt/
[root@controller ~]#mkdir /opt/iaas
[root@controller ~]#cp -rvf /mnt/* /opt/iaas
[root@controller ~]#umount /mnt/
配置控制节点yum源
[root@controller ~]#cd /etc/yum.repos.d
[root@controller ~ yum.repos.d]#rm -rf * #清空yum初始文件
[root@controller ~ yum.repos.d]#vi 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
清除yum缓存
yum clean all
查看yum源
yum repolist
11、安装vsftpd服务
yum insatll -y vsftpd
修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
添加 anon_root=/opt/
#设置ftp开机自启
systemctl start vsftpd
systemctl enable vsftpd
12、配置计算节点yum源
[root@controller ~]#cd /etc/yum.repos.d
[root@controller ~ yum.repos.d]# rm -rf * #清空yum文件
[root@controller ~ yum.repos.d]#vi centos.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0 #两个//,这里可以用浏览器输入ftp://ip地址看一下文件路径看一下是否正确
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]#hostsnamectl set-hostname controller
ctrl+D退出重新登陆
[root@controller ~]#ip a #查看网卡名称
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第一块网卡名,仅主机模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第二块网卡名,NAT模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.10
PREFIX=24
[root@controller ~]# systemctl restart network #重启网卡
[root@controller ~]#hostnamectl set-hostname compute
Ctrl+D #退出重新登录
[root@controller ~]#ip a #查看网卡名称
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第一块网卡名,仅主机模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-(第二块网卡名,NAT模式那块)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.20
PREFIX=24
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 controller
192.168.100.20 compute
[root@controller ~]# scp /etc/hosts 192.168.100.12://etc/hosts
[root@controller ~]# root@192.168.100.20's password: #输入密码000000
hosts 100% 207 77.7KB/s 00:00
[root@compute ~]# systemctl restart network #重启网卡
systemctl stop firewalld
systemctl disable firewalld
iptables -F
iptables -X
iptables -Z
iptables-save
[root@controller ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@controller ~]# setenforce 0
[root@controller ~]# getenforce 0
使用secureFX上传XianDian-IaaS-V2.4和CentOS-7-x86_64-DVD-1804镜像到root目录下
[root@controller ~]# ls
anaconda-ks.cfg CentOS-7-x86_64-DVD-1804.iso XianDian-IaaS-V2.4.iso
挂载CentOS-7-x86_64-DVD-1804.iso
[root@controller ~]# mount -o loop /root/CentOS-7-x86_64-DVD-1804.iso /mnt/
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# cp -rvf /mnt/* /opt/centos
[root@controller ~]# umount /mnt/
挂载XianDian-IaaS-V2.4
[root@controller ~]#mount -o loop /root/XianDian-IaaS-V2.4.iso /mnt/
[root@controller ~]#mkdir /opt/iaas
[root@controller ~]#cp -rvf /mnt/* /opt/iaas
[root@controller ~]#umount /mnt/
配置控制节点yum源
[root@controller ~]#cd /etc/yum.repos.d
[root@controller ~ yum.repos.d]#rm -rf * #清空yum初始文件
[root@controller ~ yum.repos.d]#vi 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
清除yum缓存
yum clean all
查看yum源
yum repolist
yum insatll -y vsftpd
修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
添加 anon_root=/opt/
#设置ftp开机自启
systemctl start vsftpd
systemctl enable vsftpd
[root@controller ~]#cd /etc/yum.repos.d
[root@controller ~ yum.repos.d]# rm -rf * #清空yum文件
[root@controller ~ yum.repos.d]#vi centos.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0 #两个//,这里可以用浏览器输入ftp://ip地址看一下文件路径看一下是否正确
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
gpgcheck=0
enabled=1
清除yum缓存
yum clean all
查看yum源
yum repolist
13、控制节点安装iaas-xiandian
yum install -y iaas-xiandian
14、计算节点安装iaas-xiandian
yum install -y iaas-xiandian
15、编辑环境变量(做到此步建议快照一下,以免接下来的步骤出错)
- 控制节点环境变量
[root@controller ~]#vi /etc/xiandian/openrc.sh
#可以使用 :%s/PASS=/PASS=000000/ 使所以带PASS的内容都设置为000000
需要注意的是:NTERFACE_IP=这里填对应节点IP
HOST_IP=192.168.100.10
HOST_PASS=000000
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_PASS_NODE=000000
HOST_NAME_NODE=compute
network_segment_IP=192.168.100.0/24
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=00000
NOVA_DBPASS=000000
NOVA_PASS=00000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_IP=192.168.100.10 #对应节点的IP地址
INTERFACE_NAME=ens34 #第二张网卡名称,也就是外网网卡
Physical_NAME=provider
minvlan=1 #网段
maxvlan=1000
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK= sdb1(这里要填入的磁盘必须是空的,也就是在最开始说的那块新增的磁盘
SWIFT_PASS=000000
OBJECT_DISK=sdb1 #同上
STORAGE_LOCAL_NET_IP=192.168.100.10
HEAT_DBPASS=000000
HEAT_PASS=000000
ZUN_DBPASS=000000
ZUN_PASS=000000
KURYR_DBPASS=000000
KURYR_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
BARBICAN_DBPASS=000000
BARBICAN_PASS=000000
-
计算节点环境变量
#从controller节点拷贝过去,修改NTERFACE_IP=这里填对应节点IP [root@controller ~]# scp /etc/xiandian/openrc.sh 192.168.100.12:/etc/xiandian/ Are you sure you want to continue connecting (yes/no)? #yes Warning: Permanently added '192.168.100.12' (ECDSA) to the list of known hosts. root@192.168.100.12's password: #000000 openrc.sh 100% 3161 841.5KB/s 00:00
16、执行官方安装脚本
先安装控制节点的脚本,全部安装完再安装计算节点的脚本,保险一点,避免出错
iaas-pre-host.sh #所有节点上执行此脚本
- controller节点
iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
iaas-install-cinder-controller.sh
iaas-install-swift-controller.sh
注意这里的后缀,controller装完再装compute
-
compute节点
iaas-install-nova-compute.sh iaas-install-neutron-compute.sh iaas-install-cinder-compute.sh iaas-install-swift-compute.sh
最小化部署完成,此时可以用浏览器访问:http://192.168.100.10/dashboard
三、创建iaas云主机
在controller节点执行
1、使环境变量生效
[root@controller~]#source /etc/keystone/admin-openrc.sh
2、创建镜像
[root@controller~]#cd /opt/iaas/image
[root@controller~]#ls #可以查看当前的qcow2
[root@controller~]#glance image-create --name CentOS7.5 --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2 #通过glance命令创建镜像
3、创建外部网络
[root@controller~]#openstack network create ext-net --provider-physical-network provider --provider-network-type flat --external
4、创建内部网络
[root@controller~]#openstack network create int-net1 --provider-network-type vxlan --provider-segment 1
5、创建子网
- 外网
[root@controller~]#openstack subnet create ext-subnet --network ext-net --gateway 192.168.200.1 --subnet-range 192.168.200.0/24 --allocation-pool start=192.168.200.100,end=192.168.200.200 --dhcp
- 内网
[root@controller~]#openstack subnet create int-subnet1 --network int-net1 --gateway 10.0.0.1 --subnet-range 10.0.0.0/24 --dhcp
6、创建路由
[root@controller~]#openstack router create ext-router
[root@controller~]#openstack router set ext-router --external-gateway ext-net
[root@controller~]#openstack router add subnet ext-router int-subnet1
7、创建安全组
项目>网络>安全组>管理规则>添加规则(把原有的四个删掉,添加所有ICMP、所有TCP、所有UDP)
在controller节点执行
[root@controller~]#source /etc/keystone/admin-openrc.sh
[root@controller~]#cd /opt/iaas/image
[root@controller~]#ls #可以查看当前的qcow2
[root@controller~]#glance image-create --name CentOS7.5 --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2 #通过glance命令创建镜像
[root@controller~]#openstack network create ext-net --provider-physical-network provider --provider-network-type flat --external
[root@controller~]#openstack network create int-net1 --provider-network-type vxlan --provider-segment 1
[root@controller~]#openstack subnet create ext-subnet --network ext-net --gateway 192.168.200.1 --subnet-range 192.168.200.0/24 --allocation-pool start=192.168.200.100,end=192.168.200.200 --dhcp
[root@controller~]#openstack subnet create int-subnet1 --network int-net1 --gateway 10.0.0.1 --subnet-range 10.0.0.0/24 --dhcp
[root@controller~]#openstack router create ext-router
[root@controller~]#openstack router set ext-router --external-gateway ext-net
[root@controller~]#openstack router add subnet ext-router int-subnet1
项目>网络>安全组>管理规则>添加规则(把原有的四个删掉,添加所有ICMP、所有TCP、所有UDP)
8、创建云主机类型
管理员>资源管理>云主机类型
#命令创建
openstack flavor create --ram 2048 --disk 20 --vcpus 2 Fmin
9、创建云主机
项目>资源管理>云主机>创建云主机
放入前面创建好的镜像
选择创建好的内外网,点击创建实例
#命令创建
nova boot --image <镜像> --flavor <云主机类型> --nic net-name=<外网> <云主机名称>
10、创建浮动IP并绑定至云主机
点击云主机名称,看看是否能够正常使用,点旁边的小箭头,绑定浮动IP,然后用CRT通过浮动IP进入创建的云主机,能用浮动IP进去,基本没什么问题了。
#命令创建
neutron floatingip-create extent
列出浮动IP列表
neutron floatingip-list
neutron port-list
绑定浮动IP
neutron floatingip-associate --fixed-ip-address <内网IP> <浮动IP地址ID> <内网IP地址ID>
文章来源:https://uudwc.com/A/09P