2022全国职业技能大赛-云计算私有云平台搭建及注意事项

@

环境准备

软件包:

答题云主机环境;CentOS-7-x86_64-DVD-2009.iso(centos7.9)
iaas版本;chinaskills_cloud_iaas_v2.0.3.iso(openstack T版)

国赛竞赛方式:

1,openstack平台,现场会提供一个IP地址,登录用户名和密码,可以登录openstack平台,再此平台中,选手可以创建云主机来进行答题,相关的网络配置、云主机类型、云主机镜像、安全策略等均配置完毕,选手只需要根据题目要求创建即可,注意创建网卡部分时,要创建两张网卡,第一张网卡用于远程连接和答题地址提交,第二张网卡则会被neutron脚本给修改。

2,答题平台,现场会提供IP地址、登录用户和密码,登录答题平台,然后可以看见题目,答题方式;必须要提交当前题目才能进行下一题,提交后会马上给分显示在可视化大屏中,并且该题目无论有分或者无分都不能再修改结果,提交答案方式;答题界面的题目下面有用户,密码,IP地址三个可填项,如果题目要求提交控制节点的云主机,则需要提交用户名(root)、密码(默认000000)、IP地址(xxx.xxx.xxx.xxx),一定要填写正确,写错了系统识别不到则没有分,注;假如搭建失败了,只需要快速搭建到题目部分即可,不存在前面获得过的分无效,系统的判分是只要当时的提交状态下虚拟机有题目答案即可

3,文件服务器,现场会给出一个IP地址,里面存放比赛所需要的所有软件包资源(yum源仓库基于htpp搭建),除了yum源搭建其他答题所需的软件包都是使用 curl -O 包地址的方式来搭建的

以下搭建可保证最快搭建出平台,不涉及题目

基础配置

配置主机名,域名解析,这些操作不做过多赘述。云主机中不需要做selinux以及防火墙等操作,默认是云主机没有安装这些服务的

搭建yum源

比赛使用文件服务器的形式使用http挂载yum源,10.60.2.20为我本地文件服务器地址

[root@controller ~]# cat /etc/yum.repos.d/http.repo 
[centos]
name=centos
baseurl=http://10.60.2.20/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=http://10.60.2.20/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# yum clean all && yum repolist
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Cleaning repos: centos iaas
Cleaning up list of fastest mirrors
Loaded plugins: fastestmirror
Determining fastest mirrors
centos                                                                           | 3.6 kB  00:00:00     
iaas                                                                             | 2.9 kB  00:00:00     
(1/3): centos/group_gz                                                           | 153 kB  00:00:00     
(2/3): iaas/primary_db                                                           | 597 kB  00:00:00     
(3/3): centos/primary_db                                                         | 3.3 MB  00:00:00     
repo id                                          repo name                                        status
centos                                           centos                                           4,070
iaas                                             iaas                                               954
repolist: 5,024
[root@controller ~]# 

yum源成功后使用scp命令远程传输给compute节点

[root@controller ~]#  scp /etc/yum.repos.d/http.repo compute:/etc/yum.repos.d/

修改openrc.sh

相比于先电,环境变量的脚本位置有改变

[root@controller ~]# yum install openstack-iaas

使用sed命令批量去除第一个#注释符为空

[root@controller ~]# sed -i -e 's/^#//'g /etc/openstack/openrc.sh 

使用sed命令批量修改密码默认000000

[root@controller ~]# sed -i -e 's/PASS=/PASS=000000/'g /etc/openstack/openrc.sh 
[root@controller ~]# cat /etc/openstack/openrc.sh 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=10.60.3.7

#Controller HOST Password. example:000000 
HOST_PASS=000000                                     # 切记密码这里我的虚拟机是默认000000,根据实际情况修改

#Controller Server hostname. example:controller
HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=10.60.3.21

#Compute HOST Password. example:000000 
HOST_PASS_NODE=000000

#Compute Node hostname. example:compute
HOST_NAME_NODE=compute

#--------------------Chrony Config-------------------##
#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=10.60.3.0/24     #时间同步的IP地址

#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack

#Password for rabbit user .example:000000
RABBIT_PASS=000000

#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000

#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000

#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000

#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000

#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000

#--------------------Placement Config----------------------##
#Password for Mysql placement user. exmaple:000000
PLACEMENT_DBPASS=000000

#Password for Keystore placement user. exmaple:000000
PLACEMENT_PASS=000000

#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000

#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000

#--------------------Neutron Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000

#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000

#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000

#External Network Interface. example:eth1
INTERFACE_NAME=eth1              #填第二张网卡,记住不要使用正常通信的那张网卡

#External Network The Physical Adapter. example:provider
Physical_NAME=provider

#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1

#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=1000

#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000

#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000

#Cinder Block Disk. example:md126p3
BLOCK_DISK=vdb1                       #cinder服务挂载点,需在计算节点分区

#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=vdb2                          #swift服务挂载点,需在计算节点分区

#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=10.60.3.21

#--------------------Trove Config----------------------##
#Password for Mysql trove user. exmaple:000000
TROVE_DBPASS=000000

#Password for Keystore trove user. exmaple:000000
TROVE_PASS=000000

#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000

#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000

#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000

#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

#--------------------ZUN Config----------------##
#Password for Mysql ZUN user. exmaple:000000
ZUN_DBPASS=000000

#Password for Keystore ZUN user. exmaple:000000
ZUN_PASS=000000

#Password for Keystore KURYR user. exmaple:000000
KURYR_PASS=000000

#--------------------OCTAVIA Config----------------##
#Password for Mysql OCTAVIA user. exmaple:000000
OCTAVIA_DBPASS=000000

#Password for Keystore OCTAVIA user. exmaple:000000
OCTAVIA_PASS=000000

#--------------------Manila Config----------------##
#Password for Mysql Manila user. exmaple:000000
MANILA_DBPASS=000000

#Password for Keystore Manila user. exmaple:000000
MANILA_PASS=000000

#The NODE Object Disk for Manila. example:md126p5.
SHARE_DISK=vdb3              #文件共享服务的挂载点,需在计算节点分区

#--------------------Cloudkitty Config----------------##
#Password for Mysql Cloudkitty user. exmaple:000000
CLOUDKITTY_DBPASS=000000

#Password for Keystore Cloudkitty user. exmaple:000000
CLOUDKITTY_PASS=000000

#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
###############################################################
#####鍦╲i缂栬緫鍣ㄤ腑鎵ц:%s/^.\{1\}//  鍒犻櫎姣忚鍓涓瓧绗#鍙#####
###############################################################
[root@controller ~]# 

修改完使用scp命令远程传输给计算节点

[root@controller ~]#  scp /etc/openstack/openrc.sh compute:/etc/openstack/openrc.sh 

计算节点分区

此版本的openstack有manina文件共享服务,所以要多分一个区,还有一个就是云主机使用cinder挂载的硬盘启动后是会默认挂载在/mnt下面的,所以要分区是要先用umount取消挂载的。

注;此步骤也可以提前创建第四块分区,解决后面为cinder卷组扩容时再分区出现分区繁忙的问题,如果要把第四块盘创建为主分区,则需要在n后使用p指定为主分区,然后回车两下,指定大小+5G,w保存退出

[root@compute ~]# fdisk /dev/vdb
n
回车三下
+15G
n
回车三下
+15G
n
回车三下
+15G
w
[root@compute ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0  100G  0 disk 
鈹斺攢vda1 253:1    0  100G  0 part /
vdb    253:16   0   50G  0 disk 
鈹溾攢vdb1 253:17   0   15G  0 part 
鈹溾攢vdb2 253:18   0   15G  0 part 
鈹斺攢vdb3 253:19   0   15G  0 part 
[root@compute ~]# 

脚本安装

只需要使用yum源安装好环境变量,以及/usr/local/bin下的服务安装脚本,计算节点分区,前期的准备工作就完成了

安装平台基本服务

此次比赛脚本是原装的,没有被修改,可以放心安装。需要注意的是安装方式一定要先把controller节点的服务安装完毕后,再执行compute节点的服务安装,切记切记!!!不然有的服务会出点问题

[root@controller ~]# iaas-pre-host.sh 
[root@compute ~]# iaas-pre-host.sh 
# 可同时执行,执行完毕后脚本会提示重启,不然rabbitmq服务会报错!!!此脚本会初始化虚拟机环境,如修改主机
名、主机映射、时间同步等,自己可去尝试解读脚本,手工搭建平台!!!!,由于重启可能导致平台出现问题可用ssh
连接自己的IP地址重新登陆,只要出现屏幕登录时间以及看到屏幕欢迎界面即可

[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# iaas-install-placement.sh  #此版本新加的脚本,搭配controller的nova服务
[root@controller ~]# iaas-install-nova-controller.sh
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-dashboard.sh
[root@controller ~]# iaas-install-cinder-controller.sh
[root@controller ~]# iaas-install-swift-controller.sh

# 执行完毕后,再往计算节点上安装服务
[root@compute ~]# iaas-install-nova-compute.sh
[root@compute ~]# iaas-install-neutron-compute.sh
[root@compute ~]# iaas-install-cinder-compute.sh
[root@compute ~]# iaas-install-swift-compute.sh

#注;执行脚本有可能出现环境变量为加载完毕导致改脚本内容搭建失败,是由于环境变量未完全加载,后面的脚本内容
便已经执行,此时就需要手动检查脚本跑完后该服务有没有起来,或者在执行脚本前,自己手动加载一下openrc.sh环境变量脚本

基础服务搭建完毕,后面涉及到的其他服务,可根据实际再具体安装

posted @ 2023-04-03 19:02  huhy  阅读(1467)  评论(0编辑  收藏  举报