2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境

说明

  • 先电版本:v2.4
  • 操作系统:CentOS7.5 1804
  • IaaS版本:Openstack Queens v3.4.15
  • 此帖安装环境为 VMware虚拟机
  • 使用 服务器 搭建请自行更改网卡等参数,注意看注释,很详细
  • 本人使用的虚拟机是最新版VMware Workstation Pro 16
  • 虚拟机创建等基础的东西就不在这写了

附:如果你在学习实验中经常遇到报错导致平台崩溃,推荐使用本人编写的一键部署脚本
2020云计算先电2.4(最小化+云主机环境)一键部署Shell脚本模板


一、硬件环境

1.网卡

VMware网卡

2.配置

Controller节点:
2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第1张图片

Compute节点:
2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第2张图片

  • 处理器开启虚拟化:
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第3张图片

注: 内存处理器 根据个人而定,硬盘容量建议200G以上;此处计算节点的 第二块硬盘 是给cinderswift服务预留的,最小化部署可先不加;两台虚拟机处理器一定要开启 虚拟化 功能。


二、安装CentOS

1.使用镜像

  • CentOS-7-x86_64-DVD-1804.iso

附:官方镜像站种子下载链接

2.软件选择

  • 默认最小化安装
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第4张图片

3.磁盘配置

  • 选择手动配置
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第5张图片
  • 点击自动创建
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第6张图片
  • /home用户分区删除
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第7张图片
  • 根据左下角数值将可用空间最大化分配给/根分区
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第8张图片
  • 接受更改
    2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第9张图片

4.其它设置

2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第10张图片

时区:中国/上海
KDUMP:关闭
主机名:controller/compute


三、配置CentOS

1.准备工作

  • 更改主机名:
#Controller:
hostnamectl set-hostname controller
bash
#Compute:
hostnamectl set-hostname compute
bash

注:更改完主机名后一定要 重启,否则RABBIT会报错。(重要)

2.基础配置

  • 所有节点上执行:

1)配置防火墙和SELINUX

systemctl disable --now firewalld
setenforce 0

2)添加解析记录

echo "192.168.100.10 controller" >> /etc/hosts
echo "192.168.100.20 compute" >> /etc/hosts

3.上传镜像至/root目录

  • Controller 节点需要上传的镜像:

CentOS-7-x86_64-DVD-1804.iso
XianDian-IaaS-v2.4.iso

4.挂载镜像至/opt目录

  • Controller 节点:
mkdir -p /opt/centos /opt/iaas
mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centos
mount -o loop XianDian-IaaS-v2.4.iso /opt/iaas

5.配置网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-xxx
节点 网卡 1 IP地址 网卡 2 IP地址
controller 192.168.100.10 192.168.200.10
compute 192.168.100.20 192.168.200.20
  • Controller 节点:

网卡1

# vi /etc/sysconfig/network-scripts/ifcfg-32
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.100.10 
PREFIX=24 
GATEWAY=192.168.100.1 

网卡2

# vi /etc/sysconfig/network-scripts/ifcfg-33
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.200.10
PREFIX=24 
  • Compute 节点:

网卡1

# vi /etc/sysconfig/network-scripts/ifcfg-32
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.100.20 
PREFIX=24 
GATEWAY=192.168.100.1 

网卡2

# vi /etc/sysconfig/network-scripts/ifcfg-33
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.200.10
PREFIX=24 

6.配置YUM源

  • 所有节点:
rm -rf /etc/yum.repos.d/*   #删除原有官方源
  • Controller 节点:
# touch/etc/yum.repos.d/local.repo
# vi /etc/yum.repos.d/local.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 节点:
# touch/etc/yum.repos.d/ftp.repo
# vi /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://controller/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo
gpgcheck=0
enabled=1

7.安装并配置FTP服务器

  • Controller 节点:
yum -y install vsftpd
echo "anon_root=/opt" >> /etc/vsftpd/vsftpd.conf
systemctl enable --now vsftpd

8.安装并配置先电软件包

  • 所有节点上执行:
yum makecache #建立缓存
yum install -y iaas-xiandian   #安装先电软件包
  • Controller 节点配置变量:
vi /etc/xiandian/openrc.sh
名称
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 000000
NOVA_DBPASS 000000
NOVA_PASS 000000
NEUTRON_DBPASS 000000
NEUTRON_PASS 000000
METADATA_SECRET 000000
INTERFACE_IP 192.168.100.10 (填入对应节点IP,看注释)
INTERFACE_NAME ens33 (计算节点的第二块网卡名)
Physical_NAME provider (默认)
minvlan 101 (默认)
maxvlan 200 (默认)
CINDER_DBPASS 000000
CINDER_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
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

注:NTERFACE_IP这里填入对应节点的IP地址,如果是控制节点的配置文件则填入192.168.100.10,反之如果是计算节点的配置文件则填入192.168.100.20

  • Compute 节点:
scp root@controller:/etc/xiandian/openrc.sh /etc/xiandian #从控制节点拷贝变量配置文件
sed -i "69c INTERFACE_IP=192.168.100.20" /etc/xiandian/openrc.sh #此条命令对应上面的注释
  • 所有节点上执行:
source /etc/xiandian/openrc.sh #使环境变量生效

四、执行先电官方脚本

  • 所有节点:
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
  • Compute 节点:
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh

注:控制节点脚本全部运行完毕后再运行计算节点脚本,不可同时进行。


五、最小化部署完成

浏览器访问: http://192.168.100.10/dashboard
2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第11张图片


六、创建云主机环境

  • VMware虚拟机环境需要在Compute节点执行下面的命令:(重要)
#更改配置文件并重启nova-compute服务
crudini --set /etc/nova/nova.conf libvirt virt_type  qemu
systemctl restart libvirtd.service openstack-nova-compute.service

注:这里的两条命令是为了解决在VMware虚拟机环境下的QEMU模拟器错误导致云主机无法使用的问题,真实服务器请忽略。

1.创建镜像

glance image-create --name "CentOS7.5" --disk-format qcow2  --container-format bare --progress < /opt/iaas/images/CentOS_7.5_x86_64_XD.qcow2

在这里插入图片描述

2.创建网络和子网

#创建外部网络
openstack network create ext-net --provider-physical-network provider --provider-network-type flat --external
#创建内部网络
openstack network create int-net1 --provider-network-type vxlan --provider-segment 1
openstack network create int-net2 --provider-network-type vxlan --provider-segment 2
#创建外部网络子网
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
#创建内部网络子网
openstack subnet create int-subnet1 --network int-net1 --gateway 10.0.0.1 --subnet-range 10.0.0.0/24 --dhcp
openstack subnet create int-subnet2 --network int-net2 --gateway 10.0.1.1 --subnet-range 10.0.1.0/24 --dhcp

注:这里是使用 虚拟机 搭建的,外部网络类型选择Flat;若使用 服务器 搭建,外部网络类型请选择VLAN,下面是参考命令。

  • 服务器创建外部网络:
openstack network create ext-net --provider-network-type vlan --provider-physical-network provider --provider-segment 1 --external
  • 参数解读:
网络参数 含义用法
provider-network-type <供应商网络类型>
provider-physical-network <供应商物理设备名>
注:创建Flat VLAN网络类型时需要
provider-segment <段ID>
注:创建VLAN GRE VXLAN Geneve网络类型时需要
external 外部网络
子网参数 含义用法
network <网络名>
gateway <网关IP地址>
subnet-range <网络地址>
allocation-pool start=<始IP>,end=<尾IP>
dhcp 开启DHCP

注:参数含义带有<>的,使用这类参数时需要在后面跟对应的值。

2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第12张图片

3.创建路由

#创建路由
openstack router create ext-router
#绑定外部网络
openstack router set ext-router --external-gateway ext-net
#连接内部子网
openstack router add subnet ext-router int-subnet1

在这里插入图片描述2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第13张图片

4.创建安全组和规则

#创建安全组“all”
openstack security group create all
#创建规则
openstack security group rule create --ingress --protocol tcp all
openstack security group rule create --ingress --protocol udp all
openstack security group rule create --ingress --protocol icmp all
openstack security group rule create --egress --protocol tcp all
openstack security group rule create --egress --protocol udp all
openstack security group rule create --egress --protocol icmp all

2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第14张图片

注:请手动删除创建安全组后自带的两条规则,另外不要尝试删除默认安全组 default,否则会报错导致安全组功能不可用。

5.创建云主机

  • 创建实例类型:
名称 ID 内存 硬盘 VCPU数
master 1 12G 100G 6个
node 2 8G 100G 4个

注:VCPU数根据实际情况而定,其它配置是官方操作手册要求的。

nova flavor-create master 1 12288 100 6
nova flavor-create node 2 8192 100 4

命令格式:nova flavor-create <名字> < ID > <内存> <硬盘容量> < vcpu 数量>

  • 创建云主机:
nova boot --image CentOS7.5 --flavor 1 --nic net-name=int-net1,v4-fixed-ip=10.0.0.3 --security-groups all --poll master
nova boot --image CentOS7.5 --flavor 2 --nic net-name=int-net1,v4-fixed-ip=10.0.0.4 --security-groups all --poll node

参数解读:

网络参数 含义用法
image <镜像名>
flavor <实例类型ID>
nic ,
security-groups <安全组名>
poll 显示进度
  • 创建浮动IP:
openstack floating ip create ext-net --floating-ip-address 192.168.200.104
openstack floating ip create ext-net --floating-ip-address 192.168.200.105
  • 绑定浮动IP至云主机
openstack server add floating ip master 192.168.200.104
openstack server add floating ip node 192.168.200.105

注:上面的一些命令固定了IP地址,可自行更改。


七、附录

  • VMware环境下虚拟机管理器资源不够用怎么办?
  • 我们可通过下面的方法将控制节点加入到虚拟机管理器资源中。
  • 在控制节点进行如下操作:

1.更改变量配置文件信息

vi /etc/xiandian/openrc.sh
名称
HOST_IP 192.168.100.10
HOST_PASS 000000
HOST_NAME controller
HOST_IP_NODE 192.168.100.10
HOST_PASS_NODE 000000
HOST_NAME_NODE controller

2.执行命令

#使变量配置文件生效
source /etc/xiandian/openrc.sh
#执行nova-compute脚本
iaas-install-nova-compute.sh
#更改配置文件并重启nova-compute服务
crudini --set /etc/nova/nova.conf libvirt virt_type  qemu
systemctl restart libvirtd.service openstack-nova-compute.service

2020云计算先电2.4私有云IaaS最小化部署 & 创建PaaS实验云主机环境_第15张图片


如果您觉得这篇帖子不错的话可以在左下方动手点个赞吗?感谢!

你可能感兴趣的:(云计算,openstack,linux,云计算,openstack,iaas,linux,centos)