【选手须知】
1.竞赛试题通过在线“云计算技术与应用”竞赛考试系统和书面文档共同发布,内容完全一致,如出现纸质任务书缺页、字迹不清、与考试系统中不一致等问题,请及时向裁判示意,并进行任务书的更换。
2.参赛团队应在4小时内完成任务书规定内容;选手在竞赛过程中各系统生成的运行记录或程序文件必须存储到在线“云计算技术与应用”竞赛考试系统指定的用户账户中,未存储到指定账户的运行记录或程序文件均不予给分。
3.选手提交的试卷用工位号标识,不得写上姓名或与身份有关的信息,否则成绩无效。
4.比赛过程中由于人为原因造成设备或软件损坏,这种情况不予更换。
【用户需求及项目方案】
某大型互联网公司的生产系统用户规模不断增加,每天产生海量的生产数据,这些数据既包括文本、文档、图片、视频等非结构化的数据,同时又包括生产系统和业务系统的结构化数据。为了公司生产系统安全高可用,同时能够统一存储、收集、管理、分析和挖掘这些海量数据,为实现系统弹性扩展、资源按需供给、促进信息技术和数据资源充分利用。该公司拟搭建安全的云计算平台,系统既要满足云网络、云存储和云主机的资源弹性需求,又要通过基于云平台的大数据服务实现数据的安全存储、授权访问、分析挖掘和快速检索。通过使用提供的教育、电商、交通、社交、娱乐、金融等某种大数据源和成熟的机器学习算法(ML)进行大数据分析分析案例开发。
经公司CIO反复调研,决定选用先电云计算平台搭建云计算平台和大数据系统应用研发。
搭建私有云平台,以实现资源的池化弹性管理、企业应用的集中管理、统一安全认证和授权管理。按照给出的云平台架构进行IaaS、PaaS、大数据系统部署及运维管理,并进行大数据分析应用开发和微信小程序开发,最后提交工程文档。
云平台架构说明
赛项所采用的云计算系统架构如图1所示,IP地址规划如表1所示。
在这里插入图片描述
表1 IP地址规划表:

设备名称接口IP地址说明
控制节点服务器eth0192.168.100.10/24Vlan 100
控制节点服务器eth1192.168.200.10/24(初始IP)Vlan 200
计算节点服务器eth0192.168.100.20/24Vlan 100
计算节点服务器eth1192.168.200.20/24(初始IP)Vlan 200
PC-1本地连接172.16.x.2/16Vlan 1
PC-2本地连接172.16.x.3/16Vlan 1
PC-3本地连接172.16.x.4/16Vlan 1
交换机Vlan 1172.16.x.1/16
交换机Vlan 100192.168.100.1/24
交换机Vlan 200192.168.200.1/24

注:表中的x为考位号;根据以上信息,检查硬件连线及网络设备配置,确保网络连接正常。

第一部分:IaaS云计算基础架构平台(共15分)

任务一、IaaS云平台搭建(15分)
修改云平台IaaS各节点的系统配置,按云平台搭建步骤逐步安装,并完成相应的答题。
1.操作系统环境配置(1分)
按以下要求设置主机名、防火墙及SELinux:
(1)设置控制节点主机名为controller,计算节点主机名为compute;

[root@centos7 ~]# hostnamectl set-hostname controller
[root@centos7 ~]# bash
[root@controller ~]#
(compute节点主机配置同理)

(2)关闭控制节点和计算节点的防火墙,设置开机不启动;

[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld

(3)设置控制节点和计算节点的SELinux为Permissive模式;

[root@controller ~]# vi /etc/selinux/config

#SELINUX=disabled
#This file controls the state of SELinux on the system.
#SELINUX= can take one of these three values:
#enforcing - SELinux security policy is enforced.
#permissive - SELinux prints warnings instead of enforcing.
#disabled - No SELinux policy is loaded.
#SELINUX=disabled
SELINUX=permissive
#SELINUXTYPE= can take one of three values:
#targeted - Targeted processes are protected,
#minimum - Modification of targeted policy. Only selected processes are protected.
#mls - Multi Level Security protection. SELINUXTYPE=targeted

(ESC shift+:wq 退出)

(4)退出SecureCRT,重新通过ssh连接各节点服务器;
使用命令查询控制节点和计算节点的主机名、防火墙是否处于关闭状态及SELinux的状态。以文本形式依次将命令行及查询信息提交到答题框。

[root@controller ~]# hostnamectl
Static hostname: controller
[root@controller ~]# systemctl status firewalld
[root@controller ~]# getenforce 或 sestatus
Permissive

2.上传镜像源并挂载(1分)
通过上传两个镜像文件CentOS-7-x86_64-DVD-1511.iso和 XianDian-IaaS-v2.2.iso到控制节点的opt目录下;在opt目录下创建两个子目录centos和iaas,并将镜像文件对应挂载到上述两个目录下;使用df命令查看挂载的信息(需显示挂载的文件系统类型)。依次将操作命令及执行结果以文本形式提交到答题框。
在这里插入图片描述
创建文件夹:

[root@controller opt]# mkdir centos iaas
[root@controller opt]# ls
centos CentOS-7-x86_64-DVD-1908.iso iaas rh XianDian-IaaS-v2.2.iso

挂载 CentOS-7与 iaas:

[root@controller opt]# mount -o loop CentOS-7-x86_64-DVD-1908.iso centos/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller opt]# mount -o loop XianDian-IaaS-v2.2.iso iaas/
mount: /dev/loop1 is write-protected, mounting read-only

查看挂载:

[root@controller ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 8.7G 38G 19% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 480K 919M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
/dev/loop0 4.4G 4.4G 0 100% /opt/centos
/dev/loop1 2.7G 2.7G 0 100% /opt/iaas

3.配置本地以及远程yum源(1分)
配置控制节点本地yum源文件local.repo,搭建ftp服务并配置根目录为指向存放yum源的路径;配置计算节点yum源文件ftp.repo,使用控制节点ftp服务作为yum源,其中节点的地址以主机名表示;使用cat命令查看控制节点和计算节点的yum源全路径配置文件。依次将操作命令及返回结果以文本形式提交到答题框。

配置控制节点本地yum源文件local.repo:

[root@controller media]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# mv ./* /media
[root@controller yum.repos.d]# vi 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

搭建ftp服务:(匿名访问ftp指向/opt文件)

[root@controller ~]# yum -y install vsftpd
Installed:
vsftpd.x86_64 0:3.0.2-25.el7
Complete! (表示安装成功)
[root@controller ~]# systemctl restart vsftpd
Active: active (running) since Thu 2019-10-10 10:02:17 CST; 2s ago(表示已开启ftp)
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
anon_root=/opt (在最后面加上这行后:wq退出)
在这里插入图片描述

配置compute计算节点ftp:(IP为控制节点ip)

[root@compute media]# cd /etc/yum.repos.d/
[root@compute yum.repos.d]# mv ./* /media
[root@compute yum.repos.d]# vi ftp.repo

[centos]
name=centos
baseurl=ftp://192.168.100.1/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.1/iaas/iaas-repo
gpgcheck=0
enabled=1

[root@compute ~]# yum clean all (清除缓存)
[root@compute ~]# yum makecache ( 创建新缓存)
[root@compute ~]# yum list (检测资源 没报错说明ftp连接成功)

4.环境变量配置(1分)
在控制节点和计算节点分别安装iaas-xiandian软件包,根据表2完成脚本文件openrc.sh的配置。以文本形式提交脚本文件的内容到答题框中。

compute计算节点安装 iaas-xiandian:

[root@compute ~]# yum install iaas-xiandian -y

controller控制节点安装 iaas-xiandian:

[root@controller ~]# yum install iaas-xiandian -y
[root@compute ~]# vi /etc/xiandian/openrc.sh
#(进入openrc.sh后修改如下)

##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10 #(controller 节点ip)
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20 #(compute 节点ip)
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------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=xiandian
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
##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon 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=eno33554960
##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
#minvlan=
##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
#maxvlan=
##--------------------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=
##--------------------Trove Config--------------------##
##Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000
##Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000
##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
##The NODE Object Disk for Swift. example:md126p4.
#OBJECT_DISK=
##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20 #(compute 节点ip)
##--------------------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 Mysql 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

[root@controller ~]# iaas-pre-host.sh (执行此脚本文件)
[root@controller ~]# vi /etc/ntp.conf (进入ntp.conf 添加如下)

server 127.127.1.0
fudge 127.127.1.0 stratum 10

[root@controller ~]# systemctl start ntpd (启动ntpd)
[root@controller ~]# systemctl enable ntpd (设置开机自启ntpd)

脚本安装mysql,keystone,glance,nova,neutron,dashboard

[root@controller ~]# vi /opt/controller.sh (进入编写安装脚本如下:)

iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-neutron-controller-gre.sh
iaas-install-dashboard.sh

[root@controller opt]# source controller.sh (执行脚本安装对应文件)

5.数据库安装(2分)
使用脚本安装数据库服务并查看脚本运行时间,使用root用户登录数据库,查看mysql的默认存储引擎信息。依次将操作命令和查询结果以文本形式提交到答题框。

6.keystone安装(2分)
使用脚本安装keystone服务,创建用户testuser,密码为xiandian,将testuser用户分配给admin项目,赋予用户admin的权限。依次将操作命令和查询结果以文本形式提交到答题框。

[root@controller opt]# source /etc/keystone/admin-openrc.sh
[root@controller opt]# openstack user create --password xiandian --domain xiandian testuser

±----------±---------------------------------+
| Field | Value |
±----------±---------------------------------+
| domain_id | 8ee383f4089d4eb4967d6aa4d1b10ae0 |
| enabled | True |
| id | 0b840250a396481f9b0f6998e5812e18 |
| name | testuser |
±----------±---------------------------------+

[root@controller opt]# openstack role add --user testuser --project admin admin
查询结果命令:
[root@controller opt]# mysql -uroot -p000000
MariaDB [(none)]> use keystone
MariaDB [keystone]> show tables

7.glance安装(2分)
使用脚本安装glance服务。使用CentOS_6.5_x86_64_XD.qcow2文件创建名为examimage的镜像;使用openstack命令查看镜像列表;设置该镜像的标签为lastone,查询镜像详细信息。依次将操作命令和查询结果以文本形式提交到答题框。

[root@controller ~]# glance image-create --name “examimage” --disk -format qcow2 --container -format bare --progress</opt/CentOS_7.2_x86_64_XD.qcow2
[root@controller ~]# openstack image list (查看镜像)
[root@controller ~]# glance image-show ID 查看镜像详细信息 ID 是通过
[root@controller ~]# openstack image set --tag lastone examinage

持续更新中~~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐