【GZ-2021040】2021年全国职业院校技能大赛高职组云计算赛项正式赛卷(PDF版)

资源下载
  1. 二一教育资源

【GZ-2021040】2021年全国职业院校技能大赛高职组云计算赛项正式赛卷(PDF版)

资源简介

2021年职业院校技能大赛“云计算”赛项 赛卷
2021年全国职业院校技能大赛高职组云计
算赛项试卷
【赛程名称】云计算赛项第一场-私有云
【赛程时间】2021-06-08 09:00:00至 2021-06-08 16:00:00
某企业拟使用 OpenStack搭建一个企业云平台,以实现资源池化弹性管理、企业应用集
中管理、统一安全认证和授权等管理。
系统架构如图 1所示,IP地址规划如表 1所示。
图 1系统架构图
表 1 IP地址规划
设备名称 主机名 接口 IP地址 说明
eth0 172.129.x.0/24 Vlan x
云服务器1 Controller
eth1 自定义 自行创建
eth0 172.129.x.0/24 Vlan x
云服务器2 Compute
eth1 自定义 自行创建
云服务器3
...
自定义 eth0 172.129.x.0/24 用于实操题
云服务器 n
2021年职业院校技能大赛“云计算”赛项 赛卷
PC-1 本地连接 172.24.16.0/24 PC使用
说明:
1.竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源
配额相同,选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题;
2.表中的 x为工位号;在进行 OpenStack搭建时的第二块网卡地址根据题意自行创建;
3.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
4.考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
5.竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,
请确认自己的 IP地址,用户名和密码。
【任务 1】基础运维任务[5分]
【适用平台】私有云
【题目 1】基础环境配置[1.5分]
使用提供的用户名密码,登录提供的 OpenStack私有云平台,自行使用 CentOS7.5镜像
创建两台云主机,控制节点 flavor 使用 4v_12G_100G 的配置,计算节点 flavor 使用
4v_8G_100G_50G的配置。第一张网卡使用提供的网络,第二张网卡使用的网络自行创建(网
段为 10.10.X.0/24,X为工位号)。创建完云主机后确保网络正常通信,然后按以下要求配
置服务器:
(1)设置控制节点主机名为 controller,设置计算节点主机名为 compute;
(2)修改 hosts文件将 IP地址映射为主机名;
完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.使用 hostnamectl 命令查看主机名为 controller 计 0.5 分
2.查看 hosts 文件中有正确的主机名和 IP 映射计 0.5 分
3.控制节点正确使用两块网卡计 0.5 分
【题目 2】Yum源配置[1分]
使用提供的 http服务地址,在 http服务下,存在 centos7.5和 iaas的网络 yum 源,使用
该 http源作为安装 iaas平台的网络源。分别设置 controller节点和 compute节点的 yum 源文
件 http.repo。完成后提交控制节点的用户名、密码和 IP地址到答题框。
2021年职业院校技能大赛“云计算”赛项 赛卷
1.查看/etc/yum.repos.d/http.repo文件,有正确的 baseurl路径,计 1分
【题目 3】时间同步配置[1.5分]
在 controller节点上部署 chrony服务器,允许其他节点同步时间,启动服务并设置为开
机启动;在 compute 节点上指定 controller节点为上游 NTP 服务器,重启服务并设为开机启
动。完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.查看/etc/chrony.conf 配置文件,有正确的配置文件计 1 分
2.查看时间同步服务的状态,正常计 0.5 分
【题目 4】计算节点分区[1分]
在 compute 节点上利用空白分区划分 2 个 20G分区。完成后提交计算节点的用户名、
密码和 IP地址到答题框。
1.使用 lsblk 命令查看分区,有两个 20G 分区计 1 分,每个 0.5 分
【任务 2】OpenStack搭建任务[10分]
【适用平台】私有云
【题目 1】基础安装[1分]
任务需要完成 openstack平台的安装搭建及运维任务(无安装脚本),表 2提供了在安
装过程中需要使用相关服务参数。
表 2 云平台配置信息
服务名称 变量 参数/密码
root 000000
Keystone 000000
Mysql Glance 000000
Nova 000000
Neutron 000000
2021年职业院校技能大赛“云计算”赛项 赛卷
Heat 000000
Zun 000000
DOMAIN_NAME demo
Admin 000000
Rabbit 000000
Glance 000000
Keystone
Nova 000000
Neutron 000000
Heat 000000
Zun 000000
Metadata 000000
Neutron
External Network eth1(第二块网卡名)
使用提供的脚本框架 iaas-pre-host.sh 和 openrc.sh 环境变量文件,填充脚本(只需填充
中文注释下的内容),在 controller和 compute 节点上分别安装 openstack平台的基础组件并
完成相关配置。(脚本框架 install_openstack.tar.gz软件包在 http服务下)安装完成后提交控
制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 2】数据库与基础服务安装[1分]
使用提供的脚本框架 iaas-install-mysql.sh,填充脚本(只需填充中文注释下的内容),
在 controller节点上安装 mariadb、mencached、rabbitmq 等服务并完成相关配置。完成后提
交控制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 3】Keystone服务安装[1分]
使用提供的脚本框架 iaas-install-keystone.sh,填充脚本(只需填充中文注释下的内容),
在 controller节点上安装 keystone 服务并完成相关配置。完成后提交控制节点的用户名、密
码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 4】Glance安装[1分]
使用提供的脚本框架 iaas-install-glance.sh,填充脚本(只需填充中文注释下的内容),
在 controller节点上安装 glance服务并完成相关配置。安装完成后提交控制节点的用户名、
密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 5】Nova 安装[1分]
使用提供的脚本框架 iaas-install-nova-controller.sh 和 iaas-install-nova-compute.sh,填
充脚本(只需填充中文注释下的内容),在 controller和 compute 节点上安装 nova服务并完
成配置。完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 6】Neutron安装[1分]
使用提供的脚本框架 iaas-install-neutron-controller.sh和 iaas-install-neutron-compute.sh,
填充脚本(只需填充中文注释下的内容),在 controller和 compute节点上安装 neutron服务
并完成配置。完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 7】Doshboard安装[1分]
使用提供的脚本框架 iaas-install-dashboard.sh,填充脚本(只需填充中文注释下的内
容),在 controller节点上安装 dashboard服务并完成相关配置。完成后提交控制节点的用户
名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 8】Cinder安装[1分]
使用提供的脚本框架 iaas-install-cinder-controller.sh 和 iaas-install-cinder-compute.sh,填
充脚本(只需填充中文注释下的内容),在 controller和 compute 节点上安装 cinder服务并
完成配置。完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 9】Swift安装[1分]
使用提供的脚本框架 iaas-install-swift-controller.sh 和 iaas-install-swift-compute.sh,填充
脚本(只需填充中文注释下的内容),在 controller和 compute节点上安装 swift服务并完成
配置。完成后提交控制节点的用户名、密码和 IP地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【题目 10】Heat安装[1分]
使用提供的脚本框架 iaas-install-heat.sh,填充脚本(只需填充中文注释下的内容),在
controller节点上安装 heat服务并完成相关配置。完成后提交控制节点的用户名、密码和 IP
地址到答题框。
1.根据提供的框架补全云计算脚本并执行,查看到正确安装了基础包及服务计 1 分
【任务 3】OpenStack API运维任务[10分]
【适用平台】私有云
【题目 1】使用 python调用 api实现创建 user[2分]
在自行搭建的 OpenStack私有云平台或提供的 all-in-one 平台上,根据 http 服务中提供
的 Python-api.tar.gz 软件包,完成 python3.6 软件和依赖库的安装。在 controller 节点的/root
2021年职业院校技能大赛“云计算”赛项 赛卷
目录下创建 create_user.py文件,编写 python代码对接 OpenStack API,完成用户的创建。要
求在 OpenStack私有云平台中创建用户 chinaskill,描述为“API create user!”。执行完代码
要求输出“用户创建成功”。根据上述要求编写 python代码,完成后,将 controller节点的
IP地址,用户名和密码提交。(考试系统会连接到你的 controller节点,去执行 python脚本,
请准备好运行的环境,以便考试系统访问)
1.检查 python 版本是否为 3.6.8 计 0.3 分
2.检查 pip 版本计 0.3 分
3.执行脚本有正确的返回计 0.2 分
4.查看用户是否被正确创建计 0.2 分
5.查看用户是否有正确的描述计 0.2 分
6.查看是否有正确的获取 token 的方式、调用 user 接口、使用 requests.post、requests.get 等方法
计 0.8 分
【题目 2】使用 python调用 api实现创建 flavor[2分]
在自行搭建的OpenStack私有云平台或提供的 all-in-one平台上。在 controller节点的/root
目录下创建 create_flavor.py 文件,在该文件中编写 python 代码对接 openstack api,要求在
openstack 私有云平台上创建一个云主机类型,名字为 pvm_flavor、vcpu 为 1 个、内存为
1024m、硬盘为 20G、ID为 9999。执行完代码要求输出“云主机类型创建成功”。根据上
述要求编写 python代码,完成后,将 controller节点的 IP地址,用户名和密码提交。(考试
系统会连接到你的 controller节点,去执行 python脚本,请准备好运行的环境,以便考试系
统访问)
1.执行脚本有正确的返回计 0.2 分
2.查看 flavor 是否被正确创建,即 flavor 的详细信息是否正确计 0.2 分
3.查看是否有调用了 flavor 的接口计 0.3 分
4.查看是否有正确的获取 token 的方式、调用 user 接口、使用 requests.post、requests.get 等方法
计 1.3 分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 3】使用 python调用 api实现创建网络[2分]
在自行搭建的OpenStack私有云平台或提供的 all-in-one平台上。在 controller节点的/root
目录下创建 create_network.py文件,编写 python代码对接 OpenStack API,完成网络的创建。
要求:(1)为平台创建内部网络 pvm_int,子网名称为 pvm_intsubnet;(2)设置云主机网
络子网 IP 网段为 192.168.x.0/24(其中 x是考位号),网关为 192.168.x.1(如果存在同名内
网,代码中需先进行删除操作)。执行完代码要求输出“网络创建成功”。根据上述要求编
写 python 代码,完成后,将 controller节点的 IP 地址,用户名和密码提交。(考试系统会连
接到你的 controller节点,去执行 python脚本,请准备好运行的环境,以便考试系统访问)
1.执行脚本有正确的返回计 0.3 分
2.查看网络是否被正确创建,即网络的详细信息是否正确计 0.3 分
3.查看是否有调用了 net 的接口计 0.3 分
4.查看是否有正确的获取 token 的方式、调用 user 接口、使用 requests.post、requests.get 等方法
计 1.1 分
【题目 4】使用 python调用 api实现创建镜像[2分]
在自行搭建的OpenStack私有云平台或提供的 all-in-one平台上。在 controller节点的/root
目录下创建 create_image.py文件,编写 python 代码对接 OpenStack API,完成镜像的上传。
要求在 OpenStack私有云平台中上传镜像 cirros-0.3.4-x86_64-disk.img,名字为 pvm_image,
disk_format 为 qcow2,container_format 为 bare。执行完代码要求输出“镜像创建成功,id
为:xxxxxx”。根据上述要求编写 python代码,完成后,将 controller节点的 IP 地址,用户
名和密码提交。(考试系统会连接到你的 controller节点,去执行 python脚本,请准备好运
行的环境,以便考试系统访问)
1.执行脚本有正确的返回计 0.2 分
2.查看镜像是否被正确创建,即镜像的详细信息是否正确计 0.2 分
3.查看是否有调用了 image 的接口计 0.3 分
4.查看是否有正确的获取 token 的方式、调用 user 接口、使用 requests.post、requests.get 等方法
计 1.3 分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 5】使用 python调用 api实现创建云主机[2分]
在自行搭建的OpenStack私有云平台或提供的 all-in-one平台上。在 controller节点的/root
目录下创建 create_vm.py文件,编写 python代码对接 OpenStack API,完成云主机的创建。
要求使用 pvm_image、pvm_flavor、pvm_intsubnet创建 1 台云主机 pvm1(如果存在同名虚
拟主机,代码中需先进行删除操作)。执行完代码要求输出“创建云主机成功”。根据上述
要求编写 python代码,完成后,将 controller节点的 IP 地址,用户名和密码提交。(考试系
统会连接到你的 controller节点,去执行 python脚本,请准备好运行的环境,以便考试系统
访问)
1.执行脚本有正确的返回计 0.2 分
2.查看云主机是否被正确创建,即云主机的详细信息是否正确计 0.2 分
3.查看是否有调用了 servers 的接口计 0.2 分
4.查看是否有调用了 images 的接口计 0.2 分
5.查看是否有调用了 flavor 的接口计 0.2 分
4.查看是否有正确的获取 token 的方式、调用 user 接口、使用 requests.post、requests.get 等方法
计 1 分
【任务 4】OpenStack运维开发任务[10分]
【适用平台】私有云
【题目 1】Heat模板管理[0.5分]
在自行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,在/root目录下编
写 Heat 模板 create_net.yaml,创建名为 Heat-Network 网络,选择不共享;创建子网名为
Heat-Subnet,子网网段设置为10.20.2.0/24,开启DHCP服务,地址池为10.20.2.20-10.20.2.100。
完成后提交控制节点的用户名、密码和 IP 地址到答题框。(在提交信息前请准备好 yaml
模板执行的环境)
1.创建 heat 模板,查看是否正确创建计 0.2 分
2.查看 heat 模板文件,有正确的网络,子网关键字计 0.3 分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 2】Heat模板管理[0.5分]
在自行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,在/root目录下编
写 Heat模板 create_user.yaml,创建名为 heat-user的用户,属于 admin项目,并赋予 heat-user
用户 admin的权限,配置用户密码为 123456。完成后提交控制节点的用户名、密码和 IP地
址到答题框。(在提交信息前请准备好 yaml模板执行的环境)
1.创建 heat 模板,查看是否正确创建计 0.2 分
2.查看 heat 模板文件,有正确的用户、role 和 project 关键字计 0.3 分
【题目 3】OpenStack参数调优[1分]
OpenStack 各服务内部通信都是通过 RPC 来交互,各 agent都需要去连接 RabbitMQ;
随着各服务 agent增多,MQ的连接数会随之增多,最终可能会到达上限,成为瓶颈。在自
行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,分别通过用户级别、系统
级别、配置文件来设置 RabbitMQ 服务的最大连接数为 10240,配置完成后提交修改节点的
用户名、密码和 IP地址到答题框。
1.查看/etc/security/limits.conf 文件,有正确的配置连接数为 10240计 0.2分
2.查看/etc/sysctl.conf,有 fs.file-max=10240计 0.2分
3.查看/usr/lib/systemd/system/rabbitmq-server.service文件,有 LimitNOFILE=10240计 0.3分
4.查看 rabbitmq状态,查到 total_limit,10140计 0.3分
【题目 4】KVM 调优[1分]
在自行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,修改相关配置文
件,启用-device virtio-net-pci in kvm,配置完成后提交控制节点的用户名、密码和 IP地址到
答题框。
1.查看/etc/nova/nova.conf配置文件,有 libvirt_use_virtio_for_bridges=true 计 1分
2021年职业院校技能大赛“云计算”赛项 赛卷
【题目 5】修改 glance存储后端[1分]
使用赛项提供的 OpenStack私有云平台,创建一台云主机(镜像使用 CentOS7.5,flavor
使用带临时磁盘 50G的),配置该主机为 nfs的 server端,将该云主机中的/mnt/test目录进
行共享(目录不存在可自行创建)。然后配置 controller节点为 nfs的 client端,要求将/mnt/test
目录作为 glance后端存储的挂载目录。配置完成后提交 controller控制节点的用户名、密码
和 IP地址到答题框。
1.使用 mount 命令查看,有/mnt/test on /var/lib/glance/images type nfs4计 0.5分
2.查看/var/lib/glance/权限,用户和用户组是 glance 计 0.5分
【题目 6】redis主从[0.5分]
使用赛项提供的 OpenStack私有云平台,申请两台 CentOS7.5系统的云主机,使用提供
的 http源,在两个节点安装 redis服务并启动,配置 redis的访问需要密码,密码设置为 123456。
然后将这两个 redis节点配置为 redis的主从架构。配置完成后提交 redis 主节点的用户名、
密码和 IP地址到答题框。
1.查看 redis 的 info 信息,有 connected_slaves:1计 0.3分
2.查看/etc/redis.conf,有关闭保护模式计 0.2分
【题目 7】数据库高可用集群与负载均衡[1分]
使用赛项提供的 OpenStack私有云平台,申请三台 CentOS7.5系统的云主机,分别命令
为 node1、node2、node3,(使用提供的 mariadb-repo.tar.gz软件包在 http 服务下),在这三
个节点上安装数据库服务,数据库密码设置为 123456。将这三个节点配置为数据库高可用
集群即MariaDB_Galera_Cluster。配置完高可用服务后,安装 haproxy负载均衡服务。配置
node1节点为负载均衡的窗口,配置负载均衡为轮询算法;HA服务监听的端口为 node1节
点的 3307端口;配置访问三个节点的权重依次为 1,2,4。配置完成后提交 node1节点的用户
名、密码和 IP地址到答题框。
1.查看数据的状态 mysql -uroot -p123456 -e "show status like 'wsrep_ready';",返回 ON计 0.2分
2.mysql -uroot -p123456 -e "show status like 'wsrep_cluster_size';"查看集群数,返回 3计 0.3分
2021年职业院校技能大赛“云计算”赛项 赛卷
3.查看端口有 3307计 0.2分
4.查看 ha的配置文件,权重配置正确计 0.3分
【题目 8】私有云镜像排错[1分]
使用赛项提供的 error1 镜像启动云主机,flavor使用 4vcpu/12G 内存/100G硬盘。启动
后存在错误的私有云平台,错误现象为查看不到 image 列表,试根据错误信息排查云平台错
误,使云平台可以查询到 image 信息。完成后提交云主机节点的用户名、密码和 IP 地址到
答题框。
1.镜像被错误删除,数据库中没有该镜像的信息,不限制恢复 image 镜像的方法,最后使用
openstack image list 能查询到镜像 ID 计 1 分
【题目 9】私有云镜像排错[1分]
使用赛项提供的 error2 镜像启动云主机,flavor使用 4vcpu/12G 内存/100G硬盘。启动
后存在错误的私有云平台,错误现象为所有的私有云命令都无法执行,试根据错误信息排查
云平台错误,使命令变得可用。完成后提交云主机节点的用户名、密码和 IP地址到答题框。
1.admin 用户的 admin 权限被错误删除,不限制恢复 admin 用户权限的方法,最后 admin 用户的
权限恢复计 1 分
【题目 10】Ansible部署服务[0.5分]
使用赛项提供的 OpenStack 私有云平台,创建 2 台系统为 centos7.5的云主机,其中一
台作为 ansible 的母机并命名为 ansible,另外一台云主机命名为 node1,通过 http 服务中的
ansible.tar.gz 软件包在 ansible节点安装 ansible服务;并用这台母机,编写 ansible脚本(在
/root 目录下创建 ansible_ftp 目录作为 ansible 工作目录,部署的入口文件命名为
install_ftp.yaml)。install_ftp.yaml文件中需要完成的内容为
(1)yaml中被执行节点为 node1,执行者为 root;
(2)使用 copy模块将 ansible节点的 local.repo传到 node节点;(local.repo用于配置
2021年职业院校技能大赛“云计算”赛项 赛卷
node节点的 yum 源,可自行创建)
(3)使用 yum 模块安装 ftp服务;
(4)使用 service模块启动 ftp服务。
完成后提交 ansible节点的用户名、密码和 IP 地址到答题框。(考试系统会连接到 ansible
节点,执行 ansible脚本,准备好环境,以便考试系统访问)
1.不使用 role 的方式,直接在 install_ftp.yaml 中编写
2.执行 yaml 文件,没有报错计 0.1 分
3.查看 ftp 服务状态为正确计 0.1 分
4.查看 yaml 文件,是否用了 copy、yum、service模块计 0.3分
【题目 11】Ansible部署 zabbix服务[2分]
使用赛项提供的 OpenStack 私有云平台,创建 2 台系统为 centos7.5的云主机,其中一
台作为 Ansible 的母机并命名为 ansible,另一台云主机命名为 node,通过 http 服务中的
ansible.tar.gz软件包在 ansible节点安装 Ansible服务;并用这台母机,补全 Ansible脚本(在
HTTP 中下载 install_zabbix.tar.gz 并解压到 /root 目录下),补全 Ansible 脚本使得执行
install_zabbix.yaml可以在 node节点上完成 zabbix服务的安装。完成后提交 ansible节点的用
户名、密码和 IP 地址到答题框。(考试系统会连接到 ansible节点,执行 ansible脚本,准备
好环境,以便考试系统访问)
1.执行 yaml 文件,没有报错计 0.2 分
2.查看端口号,有 10051 端口计 0.4 分
3.查看端口号,有 3306 端口计 0.3 分
4.查看 yaml 模板,有正确的补齐计 0.7 分
5.查看 zabbix 首页,进入安装页面计 0.4 分2021年全国职业院校技能大赛“云计算”赛项
2021年全国职业院校技能大赛高职组云计
算赛项试卷
【赛程名称】云计算赛项第三场-公有云
【赛程时间】2021-06-10 09:00:00至 2021-06-10 16:00:00
【任务 1】基础设施构建[10分]
【适用平台】华为云
【题目 1】私有网络管理[0.5分]
在公有云中完成虚拟私有云的创建,具体要求如下:
(1)在上海一区域进行创建操作;
(2)创建一个名为 intnetX的虚拟私有云:IP地址为 172.16.0.0/16;
(3)创建子网名称为 intnetX-server:IP地址为 172.16.1.0/24;
(4)创建一个名为 net-data的虚拟私有云:网段为 192.168.0.0/16
(5)创建子网名称为 net-mysql:IP地址为 192.168.1.0/24;
完成创建后,提交你当前的 AK(SecretId)、SK(SecretKey)和 intnetX网络的 ID到
答题框。
1.查看 vpc名字为 intnetX正确计 0.1分
2.查看子网名为 intnetX-server正确计 0.2分
3.查看子网网段正确计 0.2分
【题目 2】对等连接[0.5分]
创建对等连接 intnetX-net,配置 intnetX虚拟私有云和 net-data虚拟机私有云连通。操作
完成后,提交你当前的 AK(SecretId)、SK(SecretKey)和对等连接的 ID到答题框。
1.查看对等连接是否运行及网络配置是否正确计 0.5分
2021年全国职业院校技能大赛“云计算”赛项
【题目 3】云实例管理[0.5分]
登录华为云平台,创建两台云实例,具体要求如下:
(1)计费模式:按需计费;
(2)地域:上海一;
(3)CPU架构:鲲鹏计算;
(4)规格:kc1.xlarge.2;
(5)镜像:CentOS 7.5 64位;
(6)系统盘:高 IO 50G硬盘;
(7)虚拟网络:intnetX-server;
(8)实例名称:ChinaSkill-node-1、ChinaSkill-node-2;
(9)登录方式:使用密码登录,密码自定义。
创建完成后,提交你当前的 AK(SecretId)、SK(SecretKey)和 ChinaSkill-node-1 的
实例 ID到答题框。
1.查看云实例使用的类型是否正确计 0.2分
2.查看云实例使用的云硬盘是否正确计 0.3分
【题目 4】云数据库管理[0.5分]
创建一台云数据库,具体要求如下:
(1)计费模式:按需计费;
(2)地域:上海一;
(3)数据库版本:MySQL 5.7;
(4)实例类型:主备;
(5)实例规格:鲲鹏 2核 8GB/40GB;
(6)虚拟私有云:net-mysql;
(7)字符集:UTF8;
(8)端口:3306;
2021年全国职业院校技能大赛“云计算”赛项
(9)数据库密码:Root123456;
(10)数据库名称:chinaskill-mysql;
创建完成后,提交你当前的 AK(SecretId)、SK(SecretKey)和云数据库的实例 ID到
答题框。
1.查看数据库类型创建是否正确,计 0.5分
【题目 5】只读数据库[0.5分]
给云数据库 chinaskill-mysql创建只读数据库 chinaskill-read 实例。使用 2vCPU、4GB内
存规格。并给 chinaskill-mysql申请读写分离地址。完成后,提交你当前的 AK(SecretId)、
SK(SecretKey)和只读数据库实例 ID到答题框。
1.查看数据库的类型,是否为只读,正确计 0.5分
【题目 6】Redis管理[0.5分]
在上海一区创建一个 Redis缓存实例,具体要求如下:
(1)版本号:5.0;
(2)实例类型:主备;
(3)副本数:2;
(4)实例规格:4G,x86 架构;
(5)子网:net-mysql;
(6)密码:Root123456;
创建完成后,提交你当前的 AK(SecretId)、SK(SecretKey)和实例 ID到答题框。
1.是否购买了正确配置的 redis,计 0.5分
【题目 7】安装 kafka和 zookeeper[0.5分]
在 chinaskill-node-2云服务器上,使用提供的软件包安装 kafka和 zookeeper服务(软件
包在 http 服务中的 gpmall-cloud.tar.gz 下)。安装完成后运行服务。完成后提交连接
2021年全国职业院校技能大赛“云计算”赛项
chinaskill-node-2节点的用户名、密码和公网 IP地址到答题框。
1.查看 kafka和 zookeeper是否被正常安装计 0.5分
【题目 8】应用商城迁移上云[0.5分]
在 chinaskill-node-1 云服务上部署 gpmall,mysql 使用云数据库分写分离地址,配置公
有云 Redis访问路径,(gpmall 应用商城的软件包 gpmall-cloud.tar.gz 在 http 服务下)完成
商城的上云操作。并设置 gpmall所需 jar软件包开启自动启动。完成后提交 chinaskill-node-1
的用户名、密码和公网 IP到答题框。
1.查看前端页面是否有正常返回计 0.1分
2.查看后端 jar包是否正常运行计 0.4分
【题目 9】云备份[0.5分]
创建一个云服务器备份存储库名为 server_backup,容量为 100G。将 ChinaSkill-node-1
云服务器制作镜像文件 chinaskill-image。完成后,将你当前的 AK(SecretId)、SK(SecretKey)
和存储库 ID到答题框。
1.查看云服务器备份是否正确计 0.5分
【题目 10】网络 ACL[1分]
创建一个网络 ACL,具体要求如下:
(1)名称:intnetX-acl;
(2)允许策略:只放行源地址为 172.16.1.0/24访问 3306端口;
(3)允许策略:只放行源地址为 172.16.1.0/24使用 ping命令访问;
(4)关联子网:关联网络 ACL至 net-mysql子网中;
创建完成后,提交你当前的 AK(SecretId)、SK(SecretKey)和网络 ACL ID 到答题
框。
1.查看 ACL是否被创建计 0.3分
2021年全国职业院校技能大赛“云计算”赛项
2.查看安全组 tcp策略是否按要求创建计 0.3分
3.查看安全组 icmp策略是否按要求创建计 0.4分
【题目 11】WordPress上云[1.5分]
自 行 购 买 一 台 鲲 鹏 云 服 务 器 , 使 用 http 服 务 中 提 供 的 软 件 包
wordpress-5.0.2-zh_CN.tar.gz,部署 LNMP+WordPress 服务(LNMP 服务自行安装)。使用
云数据库 chinaskill-mysql读写分离地址。完成WordPress系统上云后,将 ChinaSkill-node-1
节点的用户名、密码和公网 IP到答题框。
1.查看 wordpress首页是否有正确返回计 0.5分
2.查看 php是否被正确安装计 0.5分
3.查看是否有 9000端口开放计 0.5分
【题目 12】应用迁移 ARM案例[3分]
自行购买鲲鹏云服务器 1台,使用提供的源码包 nginx-1.18.0.tar.gz(软件包在 http服务
下)完成 nginx 服务的编译安装,软件包解压到/root目录下。要求在 nginx-1.18.0目录下编
写脚本 nginx_install.sh 文件,执行脚本文件完成 nginx 服务的编译安装。完成后提交
chinaskill-node-1节点的用户名、密码和公网 IP地址到答题框。
1.使用编译的方法安装 nginx并可以使用,计 3分,不限制编译时的参数,能正确编译安装
nginx服务并使用即可
【任务 2】系统管理与维护[10分]
【适用平台】华为云
【题目 1】软件包管理[0.5分]
在 chinaskill-node-1云服务器上,通过华为云镜像站,寻找 10.1.20版本的 mariadb数据
2021年全国职业院校技能大赛“云计算”赛项
库,并安装启动。完成后提交 chinaskill-node-1节点的用户名、密码和公网 IP地址到答题框。
1.查看数据库版本为 10.1.20版本计 0.5分,该版本在私有云安装包内可以找到
【题目 2】云实例管理[0.5分]
使用所创建的私有镜像 chinaskill-image 购买云服务器 ChinaSkill-node-3,配置与
ChinaSkill-node-1云服务器相同。完成后提交 chinaskill-node-3的用户名、密码和公网 IP到
答题框。
1.因 node3与 node1相同,而 node1做了商城的自启动,所以查看 node3时,需要查看到商
城系统是正常的计 0.5分
【题目 3】负载均衡器[0.5分]
创建一个负载均衡器 chinaskill-elb,将 ChinaSkill-node-1和 ChinaSkill-node-3 加入负载
均衡的后端。设置一个可用的公网服务 IP,服务端口为 80。配置监听器,监听 80端口。对
浮动公共 IP进行Web访问测试。完成后,提交你当前的 AK(SecretId)、SK(SecretKey)
和负载均衡器的 ID到答题框。
1.查看负载均衡器参数是否正确计 0.5分
【题目 4】弹性伸缩管理[0.5分]
新建一个启动配置,具体要求如下:
(1)启动配置名称:template-exam;
(2)计费模式:按量计费;
(3)地域:上海一;
(4)CPU架构:鲲鹏计算;
(5)规格:kc1.xlarge.2;
(6)镜像:chinaskill-image;
2021年全国职业院校技能大赛“云计算”赛项
(7)系统盘:高 IO 50G硬盘;
(8)登录方式:使用密码登录,密码自定义。
创建一个伸缩组,具体要求如下:
(1)名称:as-exam;
(2)最小伸缩数:1;起始实例数:1;最大伸缩数:5;
(3)启动配置:template-exam;
(4)使用负载均衡:chinaskill-elb;
(5)移出策略:移出最旧的实例。
为伸缩组 as-exam新建告警触发策略,具体要求如下:
(1)如果实例的内存利用率在 5分钟内的最大值小于 40%,且连续发生 3次。则实例
数减少 1台。冷却 60秒;
(2)如果实例的内存利用率在 5分钟内的最大值大于 80%,且连续发生 3次。则实例
数增加 1台。冷却 60秒;
(3)如果实例的 CPU利用率在 5分钟内的最大值小于 40%,且连续发生 3次。则实例
数减少 1台。冷却 60秒;
(4)如果实例的 CPU利用率在 5分钟内的平均值大于等于 80%,且连续发生 3次。则
实例数增加 1台。冷却 60秒。
创建完成后提交你当前的 AK(SecretId)、SK(SecretKey)和伸缩组的实例 ID到答题
框。
1. 查 看 弹 性 伸 缩 参 数 是 否 为 as.instance.1.5 , as.policy.ALARM.ADD.1.60 ,
as.policy.ALARM.REMOVE.1.6 , as.policy.ALARM.ADD.1.60 ,
as.policy.ALARM.REMOVE.1.60计 0.5分
【题目 5】云容器引擎[0.5分]
创建一个鲲鹏架构集群,具体要求如下:
(1)集群名称:kcloud;
(2)集群版本:v1.15.11;
(3)地域:上海一;
2021年全国职业院校技能大赛“云计算”赛项
(4)集群管理规模:50节点;
(5)控制节点数:3;
(6)节点使用子网:intnetX-server;
(7)Pod实例上限:64;
(8)容器网段:10.10.0.0/16。
节点配置信息要求如下:
(1)节点名称:kcloud-server;
(2)节点规格:kc1.xlarge.2
(3)节点:EulerOS 2.8
创建完成后提交你当前的 AK(SecretId)、SK(SecretKey)和集群的 ID到答题框。
1,查看云容器是否被正确创建 cce.0.kcloud.v1.15.11-r1.10.10.0.0/16计 0.5分
【题目 6】云容器管理[0.5分]
使用插件管理在 kcloud 容器集群中安装 dashboard 可视化监控界面。完成后,提交
dashboard访问地址到答题框。
1.查看 dashboard首页,有 Kubernetes Dashboard返回计 0.5分
【题目 7】云硬盘存储卷[1分]
购买云硬盘存储卷,具体配置如下:
(1)名称为:ckloud-disk;
(2)集群:kcloud;
(3)容量:30G;
(4)类型:高 I/O;
完成后,创建完成后提交你当前的 AK(SecretId)、SK(SecretKey)和云硬盘的 ID到
答题框。
1.查看云硬盘存储卷 evs.SAS.30 是否正确计 1分
2021年全国职业院校技能大赛“云计算”赛项
【题目 8】使用 kubectl操作集群[1分]
在 kcloud 集群中安装 kubectl命令,使用 kubectl命令管理 kcloud 集群。完成后提交连
接 kcloud集群节点的用户名、密码和公网 IP地址到答题框。
1,使用 kubectl命令查询,看命令是否可用,可用计 1分
【题目 9】安装 helm[1分]
使用提供的 helm软件包(软件包为 helm-v3.3.0-linux-arm64.tar.gz在 http服务下),在
kcloud 集群中安装 helm 服务。完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP
地址到答题框。
1.查看 helm是否被正确安装,查看 helm版本是否为 v3.3.0计 1分
【题目 10】工作负载[1分]
使用容器镜像服务作为镜像仓库,将提供的 httpd-2.4.33和 httpd-2.4.35镜像上传至服务
中。在 kcloud集群中创建一个 Deployment,使用所上传的 httpd-2.4.33容器镜像,配置使其
可以通过外部公网进行访问。完成后提交外部访问地址到答题框。
1.查看负载是否正常工作,返回 It works!计 1分
【题目 11】软件包适配[3分]
自行申请一个鲲鹏云主机,在云主机中创建/data/build/工作目录,在该目录中,创建编
译 rpm包所需的要的文件夹,使用提供的 libvirt-5.6.0-4.fc31.src.rpm包进行解压,并放入创
建的对应目录,安装依赖制作适配鲲鹏架构的 libvirt-5.6.0 的 rpm 软件包,然后安装 libvirt
服务。完成后提交云主机的用户名、密码、和公网 IP地址到答题框。
1.创建正确的打包目录计 1分
2.查看/data/build/RPMS/aarch64/有 libvirt-5.6.0-4.el7.centos.a.aarch64.rpm计 1分
3.查看 libvirt包是否被正确安装计 1分
2021年全国职业院校技能大赛“云计算”赛项
【任务 3】Python自动化运维[10分]
【适用平台】公有云
【题目 1】使用 helm模板[0.5分]
使用赛项提供的 mychart-0.1.0.tgz 模板包(在 http服务下),修改模板代码使外部可通
过节点地址进行访问。在模板市场中上传我的模板 mychart,在 kcloud 集群中安装名为 nginx
的模板实例。完成后提交连接 kcloud集群节点的用户名、密码和公网 IP地址到答题框。
1.使用命令 kubectl describe svc nginx-mychart查看 service信息,返回 NodePort计 0.3分
2.使用命令 kubectl describe svc nginx-mychart查看,返回 release=nginx计 0.2分
【题目 2】创建存活探针[0.5分]
在 kcloud集群中使用 k8s集群创建名为 liveness-http和 livenes-tcp的 pod,并分别设置
http探针和 tcp探针监控 pod状态。完成后提交连接 kcloud集群节点的用户名、密码和公网
IP地址到答题框。
1.使用命令 kubectl describe po liveness-http,返回 http-get计 0.2分
2.使用命令 kubectl describe po liveness-tcp,返回 tcp-socket计 0.3分
【题目 3】创建 http存活探针[0.5分]
在 kcloud集群中使用 k8s集群创建名为 liveness-http 的 pod,设置 http探针监控 pod状
态,探针初始延迟时间为 15秒,探测失败 1次后重启容器。完成后提交连接 kcloud集群节
点的用户名、密码和公网 IP地址到答题框。
1.使用命令 kubectl describe po liveness-http查看,返回有 http-get 计 0.1分
2.使用命令 kubectl describe po liveness-http查看,返回有 delay=15s计 0.2分
3.使用命令 kubectl describe po liveness-http查看,返回有 failure=1 计 0.2分
2021年全国职业院校技能大赛“云计算”赛项
【题目 4】创建 tcp存活探针[0.5分]
在 kcloud集群中使用 k8s集群创建名为 liveness-tcp的 pod,设置 tcp探针监控 pod状态,
探针每 15秒探测一次容器,探测容器超时时间为 2秒。完成后提交连接 kcloud集群节点的
用户名、密码和公网 IP地址到答题框。
1.使用命令 kubectl describe po liveness-tcp查看,返回有 tcp-socket计 0.1分
2.使用命令 kubectl describe po liveness-tcp查看,返回有 timeout=2s计 0.2分
3.使用命令 kubectl describe po liveness-tcp查看,返回有 period=15s计 0.2分
【题目 5】python环境准备[0.5分]
通过华为云控制台,选择北京四区域,创建一台 x86 架构,按需计费的 2核,4G,硬
盘 50G的云实例,实例名为 ChinaSkill,选择镜像为 CentOS 7.5 64bit(40GB),分配独立的公
网 IP,带宽选择按使用流量计费 5M。登录此云服务器,安装 Python3,然后使用 Python安
装 huaweicloud-sdk-python 库。(所需库文件 HUAWEICloud-Python.zip 在 http 下)完成后
提交服务器节点的用户名、密码和 IP地址到答题框。(Python对接公有云的题均使用 X86
架构)
1.查看 pip3版本为 huaweicloud-sdk-python计 0.5分
【题目 6】云服务器组管理[0.5分]
在云服务器的/root/huawei目录下编写 create_server_group.py 文件,并导入赛项提供的
huaweicloudapi.py 文件获取连接。编写 Python 代码,调用 compute 类,创建华为云的云服
务器组,具体要求为
(1)云服务器组名称:chinaskills_server_group;
(2)云服务器组策略:反亲和性;
(3)如果安全组已经存在,代码中需要先删除;
(4)使用其源码的 get方法输出此云服务器组的详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
2021年全国职业院校技能大赛“云计算”赛项
1.执行 python3 /root/huawei/create_server_group.py,有正确的返回及实现功能计 0.5分
【题目 7】安全组管理[0.5分]
在云服务器的/root/huawei目录下编写 create_security_group.py文件,并导入赛项提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 vpcv1类,创建华为云的安全组,
具体要求为
(1)安全组名称:chinaskills_security_group;
(2)如果安全组已经存在,代码中需要先删除;
(3)使用其源码的 get方法输出此安全组的详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 python3 /root/huawei/create_security_group.py,有正确的返回及实现功能计 0.5

【题目 8】安全组规则管理[0.5分]
在云服务器的/root/huawei目录下编写 create_security_group_rule.py文件,并导入赛项提
供的 huaweicloudapi.py文件获取连接。基于上一题的安全组,编写 Python代码,调用 vpcv1
类,创建华为云的安全组规则,具体要求为
(1)使用安全组名称获取其 ID(不允许直接填写安全组 ID);
(2)删除此安全组里所有规则(保证代码可以重复执行);
(3)放通出方向规则:所有协议端口;
(4)放通入方向规则:TCP协议 22端口;
(5)放通入方向规则:ICMP协议所有端口;
(6)使用其源码的 get方法输出此安全组的详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_security_group_rule.py,有正确的返回及实现功能计 0.5分
2021年全国职业院校技能大赛“云计算”赛项
【题目 9】虚拟私有云管理[0.5分]
在云服务器的 /root/huawei 目录下编写 create_vpc.py 文件,并导入赛项提供的
huaweicloudapi.py 文件获取连接。编写 Python 代码,调用 vpcv1 类,创建华为云的虚拟私
有云,具体要求为
(1)虚拟私有云名称:chinaskills_vpc;
(2)如果虚拟私有云已经存在,代码中需要先删除;
(3)使用其源码的 get方法输出此虚拟私有云的详细信息(状态要求为 OK)。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_vpc.py,有正确的返回及实现功能计 0.5分
【题目 10】虚拟私有云子网管理[0.5分]
在云服务器的 /root/huawei 目录下编写 create_subnet.py 文件,并导入赛项提供的
huaweicloudapi.py 文件获取连接。编写 Python 代码,调用 vpcv1 类,创建华为云的虚拟私
有云子网,具体要求为
(1)使用虚拟私有云名称获取其 ID(不允许直接填写虚拟私有云 ID);
(2)虚拟私有云子网名称:chinaskills_subnet;
(3)虚拟私有云子网网段:192.168.100.0/24;
(4)虚拟私有云子网网关:192.168.100.1;
(5)虚拟私有云子网可用区域:cn-north-4a;
(6)如果虚拟私有云子网已经存在,代码中需要先删除;
(7)使用其源码的 get方法输出此虚拟私有云子网的详细信息(状态要求为 ACTIVE)。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_subnet.py,有正确的返回及实现功能计 0.5分
【题目 11】密钥对管理[0.5分]
在云服务器的 /root/huawei 目录下编写 create_keypair.py 文件,并导入赛项提供的
2021年全国职业院校技能大赛“云计算”赛项
huaweicloudapi.py 文件获取连接。编写 Python 代码,调用 compute 类,创建华为云的秘钥
对,具体要求为
(1)秘钥对名称:chinaskills_keypair;
(2)如果秘钥对已经存在,代码中需要先删除;
(3)使用其源码的 get方法输出此秘钥对详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_keypair.py,有正确的返回及实现功能计 0.5分
【题目 12】云服务器管理[1分]
在云服务器的 /root/huawei 目录下编写 create_server.py 文件,并导入赛项提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 ecs类,创建华为云的云服务器,
具体要求为
(1)云服务器名称:chinaskills_server;
(2)云服务器可用区域:cn-north-4a;
(3)云服务器镜像:CentOS 7.5 64bit;
(4)云服务系统盘:磁盘规格 SSD、大小 100G;
(5)云服务数据盘:SSD、大小 50G;
(6)云服务器规格:c6.large.2;
(7)云服务器网络: chinaskills_subnet;
(8)云服务器安全组:chinaskills_security_group;
(9)云服务器组:chinaskills_server_group;
(10)云服务器秘钥对:chinaskills_keypair;
(11)云服务器弹性公网 IP:类型为全动态 BGP、带宽为 5 Mbit/s;
(12)云服务器标签:chinaskills=true;
(13)如果云服务器已经存在,代码中需要先删除;
(14)以上需求可用直接使用其 ID,例如:镜像 ID、网络 ID等等;
(15)使用其源码的 get方法输出此云服务器的详细信息。
2021年全国职业院校技能大赛“云计算”赛项
(云服务器状态要求为 ACTIVE且数据盘挂载成功)
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_server.py,有正确的返回及实现功能计 1分
【题目 13】弹性伸缩配置[0.5分]
在云服务器的/root/huawei 目录下编写 create_as_config.py 文件,并导入赛项提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 auto_scaling类,创建华为云的弹
性伸缩配置,具体要求为
(1)伸缩配置名称:chinaskills_as_config;
(2)镜像配置:CentOS 7.5 64bit;
(3)磁盘配置:系统盘规格 SSD、大小 100G;数据盘规格 SSD、大小 50G;
(4)规格配置:c6.large.2;
(5)安全组配置:chinaskills_security_group;
(6)秘钥对配置:chinaskills_keypair;
(7)弹性公网配置:类型为全动态 BGP、带宽为 5 Mbit/s;
(8)如果弹性伸缩配置已经存在,代码中需要先删除;
(9)使用其源码的 get方法输出此弹性伸缩配置的详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_as_config.py,有正确的返回及实现功能计 0.5分
【题目 14】弹性伸缩组管理[1分]
在云服务器的 /root/huawei 目录下编写 create_as_group.py 文件,并导入赛项提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 auto_scaling类,创建华为云的弹
性伸缩组,具体要求为
(1)伸缩组名称:chinaskills_as_group;
(2)区域配置:cn-north-4a;
(3)弹性伸缩配置:chinaskills_as_config;
2021年全国职业院校技能大赛“云计算”赛项
(4)vpc配置:chinaskills_vpc;
(5)子网配置:chinaskills_subnet;
(6)安全组配置:chinaskills_security_group;
(7)云服务器数配置:最大实例 3台、最小实例 1台、期望实例 2台;
(8)配置弹性公网 IP随实例释放;
(9)以上需求可用直接使用其 ID,例如:网络 ID、安全组 ID等等;
(10)如果弹性伸缩组已经存在,代码中需要先删除;
(11)使用其源码的 get方法输出此弹性伸缩组的详细信息。
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_as_group.py,有正确的返回及实现功能计 1分
【题目 15】弹性伸缩组策略管理[1分]
在/root/huawei目录下编写 crerate_as_policy_daily.py文件,并导入提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 auto_scaling类,创建华为云
的弹性伸缩组策略,具体要求如下:
(1)基于伸缩组:chinaskills_as_group(不允许直接使用其 ID)
(2)伸缩策略名称:chinaskills_as_policy_daily
(3)策略类型:周期策略
(4)重复周期:按天
(5)触发时间:00:00
(6)生效时间: 2021-06-10T00:00Z到 2021-12-31T00:00Z
(7)执行动作:增加 1实例
(8)冷却时间:900 (秒)
(9)如果伸缩策略已经存在,代码中需要先删除
(10)使用其源码的 get方法输出此伸策略的详细信息
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/crerate_as_policy_daily.py,有正确的返回及实现功能计 1分
2021年全国职业院校技能大赛“云计算”赛项
【题目 16】云硬盘管理[1分]
在/root/huawei目录下编写 create_block_store.py文件,并导入提供的
huaweicloudapi.py文件获取连接。编写 Python代码,调用 block_store 类,创建华为云
的云硬盘,具体要求如下:
(1)云硬盘可用区域:cn-north-4a
(2)云硬盘名称:chinaskills_volume
(3)云硬盘规格和大小:超高 IO,100G
(4)设置云硬盘共享
(5)设置云硬盘加密,加密秘钥为默认的 KMS 密钥
(6)如果云硬盘已经存在,代码中需要先删除
(7)使用其源码的 get方法输出此云硬盘的详细信息(状态要求为 available)
完成后提交云服务器节点的用户名、密码和 IP地址到答题框。
1.执行 python3 /root/huawei/create_block_store.py,有正确的返回及实现功能计 1分2021年全国职业院校技能大赛高职组云计
算赛项试卷
【赛程名称】云计算赛项第二场-容器云
【赛程时间】2021-06-09 09:00:00至 2021-06-09 16:00:00
说明:完成本任务需要两台安装了 CentOS7.5操作系统的云主机 master和 node,镜像
包中有本次容器云平台部署和运维所需的所有文件。
云梦公司技术部产品开发上线周期长,用户规模大且版本更新频繁。新版本的每次上
线,产品都要承受极大的压力。引入 CICD (Continuous Integration持续集成、Continuous
Delivery持续交付) 和灰度发布成了公司的当务之急,研发团队决定搭建基于 Kubernetes 的
CICD环境,希望基于这个平台来实现 DevOps 的部分流程,并基于 Kubernetes实现业务系
统的灰度发布。
为了能够让云梦公司开发的 web应用系统产品能够缩减开发周期,快速迭代版本,并
实现业务从老版本到新版本的平滑过渡,避免升级过程中出现的问题对用户造成的影响。研
发部决定使用微服务架构,实现基于 Kubernetes的容器化部署、CICD和灰度发布。
节点规划如表 1所示。
表 1容器云平台节点规划
节点角色 主机名 VCPUS 内存 硬盘
Master、Harbor、CICD master 8 12G 100G
Worker Node node 4 8G 100G
【任务 1】Docker CE及私有仓库安装任务[5分]
【适用平台】私有云
【题目 1】安装 Docker CE和 Docker Compose[1分]
使用提供的 centos7.5-paas镜像启动两台云主机 master和 node,flavor如上表所示。在
master、node各节点中分别安装 DockerCE和 docker-compose。完成后提交 master节点的用
户名、密码和 IP到答题框。
1.查看 docker 版本是否安装正确计 0.5 分
2.查看 docker-compose 版本安装是否正确计 0.5 分
【题目 2】安装私有仓库[1分]
在 master 节点安装私有仓库,导入/opt/images 目录下所有镜像,并推送到私有仓库。
完成后提交 master节点的用户名、密码和 IP到答题框。
1.查看 Harbor 关联的容器是否正常运行计 0.5 分
2.查看 Harbor 是否正确安装计 0.5 分
【题目 3】容器编排[3分]
在 master节点上编写/root/docker-compose.yaml文件(需要用到的镜像包 SkyWalking.tar
在 http服务下),具体要求如下:
(1)容器 1名称:elasticsearch;镜像:elasticsearch:7.8.0;端口映射:9200:9200;
(2)容器 2 名称:oap;镜像:apache/skywalking-oap-server:8.0.1-es7;端口映射:
11800:11800,12800:12800;
(3)容器 3名称:ui;镜像:apache/skywalking-ui:8.0.1;端口映射:8082:8080。
完成后编排部署 Skywalking服务,并提交 master节点的用户名、密码和 IP到答题框。
1.docker-compose ps 命令查看容器为 UP 计 1.4 分
2.查看 Skywalking 首页返回正确计 1.6分
【任务 2】基于 Docker容器的 web应用系统部署[10分]
云梦公司开发了一套基于SpringBoot+MyBatis微服务架构的ChinaSkillsMall电商系统,
并实现全容器化部署,ChinaSkillsMall电商应用系统架构如图 1所示,系统说明如表 2所示。
图 1 ChinaSkillsMall电商应用系统架构图
表 2 ChinaSkillsMall电商应用系统说明
模块 说明
mall-monitor 监控中心
mall-gateway 微服务网关
mall-auth 认证中心
mall-admin 商城后台服务
mall-portal 商城前台服务
将MariaDB数据库组件、Redis消息组件、RabbitMQ消息组件、Nacos-Registry注册
中心服务组件和前端 Nginx组件按照要求进行容器化。(所需要的软件包 mall-swarm.tar.gz
在 http服务中)。
【适用平台】私有云
【题目 1】容器化部署MariaDB[2分]
在 master 节 点 上 编 写 /root/mall-swarm/Dockerfile-mariadb 文 件 构 建
chinaskillmall-mariadb:v1.1镜像,具体要求如下:
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)安装并初始化 mariadb,密码:root;
(4)设置数据库编码为 UTF-8;
(5)开放端口:3306
(6)设置 mariadb开机自启。
完成后构建镜像,并提交 master节点的用户名、密码和 IP到答题框。
1.docker build 容器镜像,返回正确计 1 分
2.启动容器,查看容器内部数据库字符编码,有正确返回计 0.5 分
3.进入容器内部,有正确的数据库表计 0.5 分
【题目 2】容器化部署 Redis[1.5分]
在 master节点上编写/root/mall-swarm/Dockerfile-redis 文件构建 chinaskillmall-redis:v1.1
镜像,具体要求如下:
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)安装 redis服务;
(4)修改配置文件中的 bind 127.0.0.1为 bind 0.0.0.0;
(5)设置 redis免密,并关闭保护模式;
(6)开放端口:6379;
(7)设置服务开机自启。
完成后构建镜像,并提交 master节点的用户名、密码和 IP到答题框。
1.docker build 构建镜像,有正确的返回计 0.4 分
2.启动容器,进入容器查看 redis 的 info 信息,有 connected_clients:1 计 0.5分
3.进入容器查看配置文件,取消保护模式计 0.6分
【题目 3】容器化部署 Nacos-Registry[2分]
在 master 节 点 上 编 写 /root/mall-swarm/Dockerfile-nacos 文 件 构 建
chinaskillmall-nacos:v1.1镜像,具体要求如下:
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)安装 jdk工具和 nacos-server工具;
(4)设置 nacos服务开机自启。
完成后构建镜像,并提交 master节点的用户名、密码和 IP到答题框。
1.docker build 构建镜像,有正确的返回计 0.6 分
2.启动容器,查看 nacos 首页有三方 css开始,第三方 js结束计 1.4分
【题目 4】容器化部署前端服务[2分]
在 master 节点上安装 node 工具,对 mall-admin-web 项目进行打包,然后编写
/root/mall-swarm/Dockerfile-nginx文件构建 chinaskillmall-nginx:v1.1镜像,具体要求如下:
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)安装 nginx 服务;
(4)将 mall-admin-web项目打包后的文件拷贝到/usr/share/nginx/html目录下;
(5)设置 nginx 服务开机自启。
完成后构建镜像,并提交 master节点的用户名、密码和 IP到答题框。
1.docker build 构建镜像,有正确的返回计 1分
2.启动容器并进入容器,查看/usr/share/nginx/html/目录下是否存在 index.html,计 0.5分
3.查看容器内 npm的版本号是否正确计 0.5分
【题目 5】编排部署 ChinaSkillsMall商城[2.5分]
在 master节点上编写/root/mall-swarm/docker-compose.yaml文件,具体要求如下:
(1)容器 1名称:chinaskillmall-admin;镜像:mall/mall-admin:1.0-SNAPSHOT;端口
映射:8080:8080;
(2)容器 2名称: chinaskillmall-auth;镜像:mall/mall-auth:1.0-SNAPSHOT;端口映
射:8401:8401;
(3)容器 3 名称:chinaskillmall-gateway;镜像:mall/mall-gateway:1.0-SNAPSHOT;
端口映射:8201:8201;
(4)容器 4名称:chinaskillmall-mysql;镜像:chinaskillmall-mariadb:v1.1;端口映射:
3306:3306;
(5)容器 5 名称:chinaskillmall-nacos;镜像:chinaskillmall-nacos:v1.1;端口映射:
8848:8848;
(6)容器 6 名称:chinaskillmall-nginx;镜像:chinaskillmall-nginx:v1.1;端口映射:
8888:80;
(7)容器 1 名称:chinaskillmall-redis;镜像:chinaskillmall-redis:v1.1;端口映射:
6379:6379。
完成后编排部署 ChinaSkillsMall商城。然后提交 master节点的用户名、密码和 IP到答
题框。
1.使用 docker-compose ps 命令查看所有容器是否正常启动,计 1 分
2.查看商城页面,是否有正确的返回计 1.5 分
【任务 3】基于 Kubernetes构建持续集成[10分]
该公司决定采用 GitLab +Jenkins来构建 CICD 环境,以缩短新功能开发上线周期,及时
满足客户的需求,实现 DevOps 的部分流程,来减轻部署运维的负担,实现可视化容器生命
周期管理、应用发布和版本迭代更新,请完成 GitLab + Jenkins + Kubernetes的 CICD环境部
署(所需要的软件包 CICD_Offline.tar在 http 服务中)。CICD应用系统架构如下:
【适用平台】私有云
【题目 1】安装 Jenkins环境[2分]
在 master 节点上编写/root/jenkins/docker-compose.yaml 文件编排部署 Jenkins 服务,具
体要求如下:
(1)容器名称:jenkins;
(2)端口映射:8080:8080;
(3)使用 root身份生成容器;
(4)离线安装 Jenkins插件;
(5)设置 Jenkins用户:springcloud;密码:000000;
(6)在授权策略中配置“任何用户可以做任何事(没有任何限制)”。
使用 chinaskill 用户登录 Jenkins,完成后提交 master节点的用户名、密码和 IP 到答题
框。
1.docker-compose ps查看 Jenkins容器是否正常启动计 0.4分
2.查看 http://localhost:8080/pluginManager/installed是否有正确返回计 1.2分
3.进入 Jenkins容器查看容器版本是否正确计 0.4分
【题目 2】安装 Gitlab环境[1分]
在 master节点上编写/root/gitlab/docker-compose.yaml文件编排部署 Gitlab服务,具体要
求如下:
(1)容器名称:gitlab;
(2)端口映射:1022:22、81:80、443:443;
(3)容器重启策略:always;
(4)设置 root用户及密码;
(5)使用 root用户登录 Gitlab,密码:00000000;
(6)新建项目 Springcloud,将/opt/Springcloud中的代码上传到 Springcloud项目中。
完成后提交 master节点的用户名、密码和 IP到答题框。
1.使用 docker-compose ps 命令查看 gitlab 是否正常启动计 0.4 分
2.使用 git clone http://master:81/root/springcloud.git /data/springcloud && ls /data/springcloud 命令,
查看是否有正确的返回计 0.6分
【题目 3】配置 Jenkins连接 Gitlab[1分]
配置 Jenkins连接 Gitlab,具体要求如下:
(1)设置 Outbound requests;
(2)生成“Access Tokens”并命名为 jenkins;
(3)设置 Jenkins取消对'/project' end-point进行身份验证;
(4)测试 Jenkins与 Gitlab的连通性。
完成后提交 master节点的用户名、密码和 IP到答题框。
1.查看 http://localhost:8080/credentials/界面是否有 GitLab API token返回计 1分
【题目 4】配置 Jenkins连接 maven[1分]
配置 Jenkins连接 maven,具体要求如下:
(1)采用 docker in docker的方式在 Jenkins内安装 maven;
(2)在 Jenkins中配置 maven信息。
完成后提交 master节点的用户名、密码和 IP到答题框。
1.进入 Jenkins 容器查看 mvn 的版本信息是否正确计 0.6 分
2.查看 curl -L http://localhost:8080/configureTools/ |grep local 是否有 value="/usr/local/maven"返回
计 0.4分
【题目 5】配置 CI/CD[1分]
配置 CI/CD,具体要求如下:
(1)新建一个流水线任务 Springcloud;
(2)编写流水线脚本,构建 Springcloud项目中的 gateway和 config服务,将构建后的
镜像自动上传到 Harbor 仓库的 springcloud 项目,并自动发布 gateway 和 config 服务到
Kubernetes集群的 springcloud命名空间下;
(3)配置Webhook;
(4)在 Harbor中新建公开项目 springcloud。
完成后提交 master节点的用户名、密码和 IP到答题框。
1. 编 写 流 水 线 脚 本 , 使 用 命 令 查 看 curl -u springcloud:000000
http://master:8080/job/springcloud/configure,有正确的返回计 1分
【题目 6】触发 CI/CD[4分]
将 Springcloud项目中的代码上传到 Gitlab中触发构建,完成后提交 master节点的用户
名、密码和 IP到答题框。
1.使用命令 kubectl -n springcloud get service 查看 service 有正确的 config 和 gateway 计 0.4 分
2.使用命令 kubectl -n springcloud get pods查看 pods,有正确的 config和 gateway计 0.4分
3. 查 看 curl -L http://localhost:8080/job/Springcloud/wfapi/runs fullStages=true|grep -o
'"status":"SUCCESS"',返回"status":"SUCCESS"计 0.8分
4.curl http://master:30010/返回 Accumulation account 计 1分
5.能正确 pull config和 gateway镜像计 1分
6.进入 Jenkins容器查看/root/.m2/repository内容有 aopalliance和 commons-beanutils计 0.4分
【任务 4】Kubernetes容器云平台部署与运维[10分]
【适用平台】私有云
【题目 1】健康检查--ExecAction[0.5分]
在 master节点/root目录下编写 yaml文件 liveness_exec.yaml,具体要求如下:
(1)Pod名称:liveness-exec;
(2)命名空间:default;
(3)镜像:busybox;容器名称:liveness;
(4)容器启动时运行命令“touch /tmp/healthy; sleep 60; rm -rf /tmp/healthy; sleep 600”,
此命令在容器启动时创建/tmp/healthy文件,并于 60秒之后将其删除;
(5)存活性探针运行“test -e /tmp/healthy”命令检查文件的存在性,若文件存在则返
回状态码为 0,表示成功通过测试;
(6)启动后延时 5秒开始运行检测;
(7)每隔 5秒执行一次 liveness probe。
完成后使用该 yaml文件创建 Pod,并提交 master节点的用户名、密码和 IP到答题框。
1.使用 kubectl apply -f liveness_exec.yaml && kubectl get pods 命令查看,能查看到 liveness-exec
这个 pod并且正常运行计 0.1分
2.查看 liveness-exec 的详细信息,有正确的返回计 0.4分
【题目 2】更新证书[1.5分]
Kubernetes默认的证书有效期只有一年时间,对于某些场景下一个足够长的证书有效期
是非常有必要的。请将 Kubernetes集群证书的有效期延长至 10年。完成后提交 master节点
的用户名、密码及 IP到答题框。(需要用到的软件包 kubernetes_v1.18.1.tar.gz在 http 服务下)
1.使用命令 kubeadm alpha certs check-expiration|grep 9y|awk '{print$1" "$7}'查看证书时间,有正确
的返回 admin.conf 9y、apiserver 9y、apiserver-etcd-client 9y计 1.5分,每个计 0.5分
【题目 3】自定义资源管理[1分]
在 Kubernetes 中一切都可视为资源,通过自定义资源我们可以向 Kubernetes API中增
加新资源类型。在 master节点/root目录下编写 yaml文件 resource.yaml,具体要求如下:
(1)自定义资源名称:crontabs.stable.;
(2)指定自定义资源作用范围为命名空间;
(3)指定每个版本都可以通过 served标志来独立启用或禁止;
(4)指定其中有且只有一个版本必需被标记为存储版本 v1。
完成后使用该 yaml文件创建自定义资源,并提交 master节点的用户名、密码和 IP到答
题框。
1.使用命令 kubectl get crd查看,返回 crontabs.stable.计 0.1分
2.使 用 命令 kubectl describe crd crontabs.stable. 查 看 ,有 正 确 的 返 回 Group:
stable.、Scope: Namespaced、v1 共计 0.9分
【题目 4】HPA管理[0.5分]
在 master节点/root目录下编写 yaml文件 deployment-hpa.yaml,具体要求如下:
(1)HPA名称:deployment-hpa;
(2)命名空间:default;
(3)基于 deployment进行伸缩,副本数伸缩范围:1--10;
(4)期望每个 Pod的 CPU 和内存使用率为 50%。
完成后使用该 yaml文件创建 HPA,并提交 master节点的用户名、密码和 IP到答题框。
1.运行 /root/deployment-hpa.yaml 并 kubectl get HorizontalPodAutoscaler,返回 deployment-hpa
Deployment计 0.2分
2.使用 kubectl describe horizontalpodautoscaler.autoscaling/deployment-hpa 命令查看,有正确返回
计 0.3分
【题目 5】NetworkPolicy管理 [0.5分]
在 master节点/root目录下编写 yaml文件 network-policy-deny.yaml,具体要求如下:
(1)NetworkPolicy名称:default-deny;
(2)命名空间:default;
(3)默认禁止所有入 Pod流量。
完成后使用该 yaml 文件创建 NetworkPolicy,并提交 master 节点的用户名、密码和 IP
到答题框。
1.使用命令 kubectl apply -f network-policy-deny.yaml && kubectl get networkpolicy 查看,有
default-deny返回计 0.2分
2.使用命令 kubectl describe networkpolicy default-deny查看,有 Selected pods are isolated for ingress
connectivity返回计 0.3分
【题目 6】修改 Pod数量限制[0.5分]
Kubernetes 默认每个节点只能启动 110个 Pod,由于业务需要,将每个节点默认限制的
Pod数量改为 200。完成后提交 master节点的用户名、密码和 IP到答题框。
1.使用命令 kubectl describe node master node|grep -w pods|grep 200|wc -l查看,返回 4计 0.5分
【题目 7】修改 NodePort端口范围[0.5分]
Kubernetes 以 NodePort 方式暴露服务,默认的端口范围为 30000-32767,将 NodePort
的端口范围修改为 20000-65535。完成后提交 master节点的用户名、密码和 IP到答题框。
1. 使 用 kubectl describe pod $apiserver_pods -n kube-system 查 看 , 返 回
--service-node-port-range=20000-65535计 0.5分
【题目 8】金丝雀发布-安装 Istio[1分]
由于 Kubernetes 使用的 IPVS 模块需要系统内核版本支持,试使用提供的软件包
(Canary_v1.0.tar.gz 在 http 服务下)将系统内核进行升级,在 Kubernetes 集群上完成 Istio
的安装,并将 default Namespace设置自动注入。完成后提交 master节点的用户名、密码及
IP到答题框。
1.使用命令 kubectl -n istio-system get all 查看,有 service/istio-egressgateway ClusterIP |,
deployment.apps/istio-egressgateway 1/1,replicaset.apps/istiod计 0.3分
2.使用命令 kubectl get ns --show-labels=true|grep default 查看,返回 istio-injection=enabled 计 0.3

3.使用命令 uname -r查看系统内核版本 5.4.119-1.el7.elrepo.x86_64计 0.4分
【题目 9】金丝雀发布-流量控制[0.5分]
使用赛项提供的文件(istio-1.9.5/samples/helloworld/helloworld.yaml)在 default 命名空间
下完成 hellworld 服务的部署,然后设置路由规则来控制流量分配,创建一个虚拟服务
helloworld;再创建一个目标规则 helloworld,将 10%的流量发送到金丝雀版本(v2)。完成后
提交 master节点的用户名、密码及 IP到答题框。
1. 使 用 命 令 kubectl get VirtualService,DestinationRule , 有
working.istio.io/helloworld [helloworld] ,
working.istio.io/helloworld helloworld计 0.2分
2.使用命令 kubectl describe VirtualService helloworld |grep Route -A 10 | xargs,返回 Subset: v1
Weight: 90,Subset: v2 Weight: 10计 0.3分
【题目 10】金丝雀发布-熔断[0.5分]
使用赛项提供的文件(istio-1.9.5/samples/httpbin/httpbin-fortio.yaml)在 default命名空间下
完成 httpbin服务的部署,创建一个目标规则 httpbin,在调用 httpbin 服务时应用熔断设置,
具体要求为
(1)定义到目标主机的 HTTP1/TCP 最大连接数为 1;
(2)定义针对一个目标的 HTTP 请求的最大排队数量为 1;
(3)定义对某一后端的请求中,一个连接内能够发出的最大请求数量为 1。
完成后提交 master节点的用户名、密码及 IP到答题框。
1. 使 用 命 令 kubectl describe DestinationRule httpbin 查 看 , 返 回 maxConnections: 1 ,
http1MaxPendingRequests: 1,maxRequestsPerConnection: 1计 0.5分
【题目 11】金丝雀发布-流量镜像[1分]
使用赛项提供的文件(istio-1.9.5/samples/httpbin/httpbin-sleep.yaml)在 default 命名空间下
完成 httpbin-v1、httpbin-v2以及 sleep服务的部署,创建一个虚拟服务 httpbin和一个目标规
则 httpbin,将所有流量路由到 httpbin-v1 服务,然后将 100%的相同流量镜像(即发送)到
httpbin-v2服务。完成后提交 master节点的用户名、密码及 IP到答题框。
1.使用命令 kubectl describe virtualservice httpbin 查看,返回有 Mirror Percent: 100,Weight:
100计 1分
【题目 12】金丝雀发布-Ingress Gateway [1.5分]
使用赛项提供的文件(istio-1.9.5/samples/httpbin/httpbin.yaml)在 default 命名空间下完成
httpbin服务的部署,在 80端口为 HTTP流量配置一个网关 httpbin-gateway,并为 httpbin服
务创建了虚拟服务配置 httpbin,包含 1个路由规则,允许流量流向路径/headers,并允许通
过浏览器访问服务。完成后提交 master节点的用户名、密码及 IP到答题框。
1.使用命令 kubectl get virtualservice查看,返回有 httpbin [httpbin-gateway] [*]计 0.5分
2.使用命令 kubectl describe virtualservice httpbin查看,返回有 Prefix: /headers计 0.5分
3.使用命令 curl -s -I -HHost:httpbin. "http://node:$(kubectl -n istio-system get service
istio-ingressgateway -o jsonpath='{.spec.ports[ (@.name=="http2")].nodePort}')/headers"查看。返回
有 HTTP/1.1 200 OK计 0.5分
【题目 13】污点与容忍[0.5分]
请将 master节点设置为污点,策略设置为资源尽量不调度到污点节点中去。完成后提
交 master节点的用户名、密码和 IP到答题框。
1.使用命令 kubectl describe node master查看,返回有 PreferNoSchedule 计 0.5分

展开更多......

收起↑

资源列表