2022 年全国职业院校技能大赛高职组云计算赛项试卷
【赛程名称】云计算赛项第三场-公有云
目录
2022 年全国职业院校技能大赛高职组云计算赛项试卷
【赛程名称】云计算赛项第三场-公有云
【任务 1】公有云服务搭建[10 分]
【任务 2】公有云服务运维[10 分]
【任务 3】公有云运维开发[10 分]
需要竞赛软件包环境可私信博主!!!
【任务 1】公有云服务搭建[10 分]
【适用平台】华为云
【题目 1】私有网络管理[0.5 分]
在公有云中完成虚拟私有云的创建, 具体要求如下:
(1)在上海一区域进行创建操作;
(2)创建一个名为 intnetX 的内部网络:IP 地址为 172.16.0.0/16;
(3)创建子网名称为 intnetX-server:IP 地址为 172.16.1.0/24;
(4)创建子网名称为 intnetX-mysql:IP 地址为 172.16.2.0/24;
完成创建后,提交当前的 AK(SecretId)、 SK(SecretKey)和 intnetX 网络的 ID 到答
题框。
1.查看 vpc 名字为 intnetX 正确计 0.1 分 2.查看子网名为 intnetX-server 和子网网段正确计 0.2 分 3.查看子网名为 intnetX-mysql 和子网网段正确计 0.2 分 |
【题目 2】云实例管理[0.5 分]
登录华为云平台,创建两台云实例, 具体要求如下:
(1)计费模式:按需计费;
(2)地域:上海一;
(3)CPU 架构:x86 计算;
(4)规格:c7.xlarge.2;
(5)镜像:CentOS 7.5 64 位;
(6)系统盘: 高 IO 50G 硬盘;
(7)公网带宽:按带宽计费, 5Mbps;
(8)实例名称:ChinaSkill-node- 1 、ChinaSkill-node-2;
(9)登录方式:使用密码登录, 密码自定义。
创建完成后,提交当前的 AK(SecretId)、 SK(SecretKey)和 ChinaSkill-node- 1 的实
例 ID 到答题框。
1.查看云实例使用的类型是否正确计 0.2 分 2.查看云实例使用的云硬盘是否正确计 0.3 分 |
【题目 3】数据库管理[0.5 分]
使用 intnetX-mysql 网络创建两台 chinaskill-sql- 1 和 chinaskill-sql-2 云服务器, 使用提供 的压缩文件 rocketchat-cloud.tar.gz 中的软件包源, 在 chinaskill-sql- 1 和 chinaskill-sql-2 中部 署 MongoDB 数据库服务。配置完成后提交连接 chinaskill-sql- 1 节点的用户名、密码和公网
IP 地址到答题框。
1.查看数据库安装正确计 0.5 分 |
【题目 4】主从数据库[1 分]
在 chinaskill-sql- 1 和 chinaskill-sql-2 云服务器中配置 MongoDB 主从数据库,配置 MongoDB 集群名称为 rs 并完成集群设置。完成后提交连接 chinaskill-sql- 1 节点的用户名、
密码和公网 IP 地址到答题框。
1.查看 mongo 数据库 rs 集群状态正确计 1 分 |
【题目 5】node 环境管理[0.5 分]
使用提供的压缩文件rocketchat-cloud.tar.gz 中软件包源,在 ChinaSkill-node- 1 部署nodejs, 根据 所 提供 的 rocket.chat 所 需 要 求 安 装 nodejs 对 应 版 本 。 配置 完 成 后 提 交 连接
ChinaSkill-node- 1 节点的用户名、密码和公网 IP 地址到答题框。
1.查看 node 版本为 v12.16.1 正确计 0.5 分 |
【题目 6】安全组管理[0.5 分]
创建一个安全组,具体要求如下:
(1)名称:intnetX-security;
(2)允许策略:只放行源地址为 172.16.1.0/24 访问 27017 端口;
(3)允许策略:只放行源地址为 172.16.1.0/24 使用 ping 命令访问;
(4)关联实例:将 intnetX-security 安全组关联至所创建的数据库中;
创建完成后,提交当前的 AK(SecretId)、 SK(SecretKey)和安全组 ID 到答题框。
1.查看安全组是否被创建计 0.1 分 2.查看安全组 tcp 策略是否按要求创建计 0.2 分 3.查看安全组 icmp 策略是否按要求创建计 0.2 分 |
【题目 7】RocketChat 上云[0.5 分]
使用 http 服务器提供的压缩文件 rocketchat-cloud.tar.gz 中的 RocketChat 软件包,在 ChinaSkill-node- 1 中部署 RocketChat 的 Web 服务。使用 chinaskill-sql- 1 的 MongoDB 为后端 数据库,设置 RocketChat 服务访问端口为 3000 。完成 Rocketchat 系统上云后, 将
ChinaSkill-node- 1 节点的用户名、密码和公网 IP 地址到答题框。
1.查看 RocketChat 服务正常计 0.2 分 2.查看前端页面是否正常返回计 0.3 分 |
【题目 8】NAT 网关[0.5 分]
创建一个公网 NAT 网关,具体配置如下:
(1)名称为:kcloud-nat;
(2)虚拟私有云: intnetX;
(3)子网:intnetX-server;
(4)规则:内部子网地址访问外网;
(5)设置 Chinaskill-node- 1 云服务器 3000 端口转换为外部 3000 服务端口。
创建完成后提交当前的 AK(SecretId)、SK(SecretKey)和 NAT 网关的 ID 到答题框。
1.查看虚拟私有云中是否存在访问外网 NAT 策略计 0.5 分 |
【题目 9】云备份[0.5 分]
创建一个云服务器备份存储库名为 server_backup,容量为 100G。将 ChinaSkill-node- 1
云服务器制作镜像文件 chinaskill-image。完成后,将当前的 AK(SecretId)、SK(SecretKey)
和存储库 ID 到答题框。
1.查看云服务器备份是否正确计 0.5 分 |
【题目 10】负载均衡器[0.5 分]
创建一个负载均衡器 chinaskill-elb,将 ChinaSkill-node- 1 和 ChinaSkill-node-2 加入负载 均衡的后端。设置一个可用的公网服务 IP,服务端口为 3000。配置监听器,监听 3000 端口。 对浮动公共 IP 进行 Web 访问测试。完成后, 提交当前的 AK(SecretId)、SK(SecretKey)
和负载均衡器的 ID 到答题框。
1.查看负载均衡器参数是否正确计 0.5 分 |
【题目 11】弹性伸缩管理[0.5 分]
新建一个启动配置, 具体要求如下:
(1)启动配置名称:template-exam;
(2)计费模式:按量计费;
(3)地域:上海一;
(4)镜像:chinaskill-image;
(5)登录方式:使用密码登录, 密码自定义。
创建一个伸缩组,具体要求如下:
(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.查看弹性伸缩参数是否正确计 0.5 分 |
【题目 12】公有云安全:入侵检测系统[2 分]
在公有云上的主机时刻面临被攻击的危险,除了可以购买云安全服务,还可以自行部署 安全服务。在华为云上创建一个 X86 架构的云主机,镜像使用 CentOS7.9。使用提供的 makechk.tar.gz 包安装 chkrootkit 入侵检测工具,安装完毕后使用 chkrootkit 工具扫描系统, 并将扫描结果保存到/var/log/chkrootkit/chkrootkit.log,根据扫描的结果,修复漏洞。操作完
成后, 提交该云主机的用户名、密码和公网 IP 到答题框。
1.查看扫描结果正常计 1 分 2.查看扫描结果告警计 1 分 |
【题目 13】公有云安全: 日志分析服务[2 分]
安全在公有云服务中占很大的比重,而日志分析服务可以很有效的分析日志规避部分风 险。请在华为云上创建一个 X86 架构的云主机, 镜像使用 CentOS7.9。自行配置 YUM 源安 装 Docker 服务,然后使用提供的 sepb_elk_latest.tar 镜像安装 ELK 服务, 安装完成后,进行 添加数据操作, 将 ELK 监控目标节点所需安装的 RPM 安装包下载到本地云主机的/root 目
录下。完成后提交 ELK 云主机的用户名、密码和公网 IP 到答题框。
1.查看 elk 服务正常计 1 分 2.查看 RPM 安装包正确计 1 分 |
【任务 2】公有云服务运维[10 分]
【适用平台】华为云
【题目 1】云容器引擎[0.5 分]
创建一个 x86 架构集群, 具体要求如下:
(1)集群名称:kcloud;
(2)集群版本:v1.21;
(3)地域:上海一;
(4)集群管理规模:50 节点;
(5)控制节点数: 3;
(6)节点使用子网:intnetX-server;
(7)Pod 实例上限:64;
(8)容器网段:10.10.0.0/16。
节点配置信息要求如下:
(1)节点名称:kcloud-server;
(2)节点规格:c6s.xlarge.2
(3)节点:EulerOS 2.9
创建完成后提交当前的 AK(SecretId)、 SK(SecretKey)和集群的 ID 到答题框。
1.查看云容器是否被正确创建 cce.0.kcloud.v1.21.10.10.0.0/16 计 0.5 分 |
【题目 2】云容器管理[0.5 分]
使用插件管理在 kcloud 容器集群中安装 dashboard 可视化监控界面。完成后,提交
dashboard 访问地址到答题框。
1.查看 dashboard 首页,有 Kubernetes Dashboard 返回计 0.5 分 |
【题目 3】使用 kubectl 操作集群[0.5 分]
在 kcloud 集群中安装 kubectl 命令,使用 kubectl 命令管理 kcloud 集群。完成后提交连
接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.使用 kubectl 命令查询集群是否正确计 0.5 分 |
【题目 4】安装 helm[0.5 分]
使用提供的 helm 软件包(软件包为 helm-v3.3.0-linux-amd64.tar.gz 在 http 服务下) ,在 kcloud 集群中安装 helm 服务。完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP
地址到答题框。
1.查看 helm 是否被正确安装,查看 helm 版本是否为 v3.3.0 计 0.5 分 |
【题目 5】云硬盘存储卷[0.5 分]
购买云硬盘存储卷, 具体配置如下:
(1)名称为: ckloud-disk;
(2)集群:kcloud;
(3)容量:30G;
(4)类型:高 I/O;
完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.查看集群中存储卷 ckloud-disk 信息是否正确计 0.5 分 |
【题目 6】多容器 Pod 管理[0.5 分]
在 kcloud 集群节点/root 目录下编写 YAML 文件 mu-pod.yaml,具体要求如下:
(1)Pod 名称:mu-pod;
(2)命名空间:default;
(3)Pod 包含两个容器:
容器 1 名称:containers01;镜像:nginx;容器端口:80;
容器 2 名称:containers02;镜像:tomcat;容器端口: 8080;
(4)拉取策略:IfNotPresent。
完成后使用该 YAML 文件创建 Pod,并提交 master 节点的用户名、密码和 IP 到答题框。
1.查看 pod 状态信息正确计 0.2 分 2.查看 pod 详细信息 container 信息正确计 0.3 分 |
【题目 7】Namespace 管理[0.5 分]
在 kcloud 集群节点/root 目录下编写 YAML 文件 my-namespace.yaml,具体要求如下:
(1)Namespace 名称:test。
完成后使用该 YAML 文件创建 Namespace,并提交 master 节点的用户名、密码和 IP 到
答题框。
1.查看 namespace 正确计 0.5 分 |
【题目 8】Secrets 管理--Opaque[0.5 分]
在 master 节点/root 目录下编写 YAML 文件 secret.yaml,具体要求如下:
(1)Secret 名称: mysecret;
(2)命名空间:default;
(3)类型:Opaque;
(4)username: YWRtaW4=;password: MWYyZDFlMmU2N2Rm。
完成后使用该 YAML 文件创建 Secret,并提交 master 节点的用户名、密码和 IP 到答题
框。
1.查看 mysecret 设置正确计 0.5 分 |
【题目 9】使用 helm 模板[0.5 分]
使用赛项提供的 mychart-0.1.0.tgz 模板包(在 http 服务下),修改模板代码使外部可通 过节点地址进行访问。在模板市场中上传我的模板 mychart,在 kcloud 集群中安装名为 nginx
的模板实例。完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.查看 mychart 访问模式正确计 0.5 分 |
【题目 10】helm 应用部署 mariadb 搭建[0.5 分]
根据提供的 chart 包 mariadb-7.3.14.tgz 部署 mariadb 服务, 修改 mariadb 使用 NodePort 模式对其进行访问, 设置外部访问端口为 32334,并设置 mariadb 数据库 root 用户密码为
chinaskill。完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.查看数据库访问端口验证数据库正确计 0.5 分 |
【题目 11】helm 应用部署 mariadb 应用[1 分]
在 k8s 集群中创建 mariadb 命名空间, 根据提供的 chart 包 mariadb-7.3.14.tgz 修改其配 置,使用 NodePort 模式对其进行访问,创建数据库 chinaskill,创建对其拥有远程访问权限 的用户 chinaskillroot,密码为 chinaskillpassword。通过 helm 使用修改后的 chart 包部署在 mariadb 命名空间中, 服务名为 mariadb。完成后提交连接 kcloud 集群节点的用户名、密码
和公网 IP 地址到答题框。
1.查看数据库访问端口验证数据库正确计 1 分 |
【题目 12】wordpress 应用部署[1 分]
根据提供的 chart 包 wordpress- 13.0.23.tgz 部署 wordpress 服务,根据 chart 包中内容创建 wordpress 所需要的 pv,并修改其访问模式为 NodePort。使用修改后的 chart 包创建 wordpress
服务。完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.查看 wordpress 前端页面是否正确计 1 分 |
【题目 13】chartmuseum 仓库部署[1 分]
在 k8s 集群中创建 chartmuseum 命名空间,编写 yaml 文件在 chartmuseum 命名空间中 使用 chartmuseum:latest 镜像创建本地私有 chart 仓库,设置其仓库存储目录为宿主机的 /data/charts 目录。编写 service.yaml 文件,为 chart 私有仓库创建 Service 访问策略, 定义其 为 ClusterIP 访问模式。编写完成后启动 chartmuseum 服务。提交连接 kcloud 集群节点的用
户名、密码和公网 IP 地址到答题框。
1.检测 chartmuseum 服务反馈是否正确计 1 分 |
【题目 14】私有仓库管理[2 分]
在 master 节点添加搭建的本地私有 chart 仓库源, name 为 chartmuseum,并上传 wordpress- 13.0.23.tgz 包至 chartmuseum 私有仓库中。可以使用本地仓库 chart 源部署应用。
完成后提交连接 kcloud 集群节点的用户名、密码和公网 IP 地址到答题框。
1.检测 chartmuseum 仓库源中存在 wordpress- 13.0.23 计 2 分 |
【任务 3】公有云运维开发[10 分]
【适用平台】华为云
【题目 1】Python 运维开发:华为云 Python 运行环境准备[1 分]
通过华为云控制台,选择北京四区域,创建一台 x86 架构,“按需计费 ”的 2 核,4G, 系统盘 50G 的云实例, 实例名为 chinaskill2022,选择镜像为 CentOS 7.9 64bit(40GB),分配 独立的公网 IP,带宽选择按使用流量计费 5M。登录此云服务器,安装 Python3.68 运行环境, 并安装华为云旧版 SDK、新版(v3.0) Python SDK 中弹性云服务、虚拟私有云、镜像服务、
容器云引擎的 python 库。
完成后提交“chinaskill2022 开发运行环境云主机 ”的用户名、密码和 IP 地址到答题框。
1.检查云主机开发环境, 正确计 1 分。 |
【题目 2】Python 运维开发:实现容器集群创建[1 分]
基于在 Huawei Cloud API 的云容器引擎 CCE Python 模块, 使用以下信息,在/root 目录
下手动编写 cce_cluser.yaml 文件。
云 服 务 器 的 /root/ 目 录 下 编 写 cce_cluster_manager.py 文 件 , 编 码 实 现 读 取 cce_cluser.yaml,创建“按需计费 ”的 CCE 容器引擎集群(Cluster),创建后根据名称查询
该集群(Cluster)的详细信息, 通过控制台以json 格式输出该集群的信息。
创建 CCE 集群的信息如下:
CCE 名称 chinaskillscce2022;
按需计费; 集群版本:v1.21;
集群规模: 节点数 50;
网络模式: VPC 网络;
其他必要信息不限。
完成后提交“chinaskill2022 开发运行环境云主机 ”的用户名、密码和 IP 地址到答题框。
1.指定配置信息,执行 cce_cluster_manager.py 脚本, 集群创建成功,计 1 分。 |
【题目 3】Python 运维开发: ECS 云主机管理的命令行工具开发[4 分]
使用已建好的运维开发环境,在/root/目录下创建 ecs_manager.py 脚本,完成 ECS 云主
机管理,ecs_manager.py 程序支持命令行参数执行。
提示说明: 华为云主机支持安装所需 Python 库。提交前答案前,需安装所开发程序所
依赖的 Python 库。
(1)程序支持根据命令行参数, 创建 1 个云主机。
位置参数“create”,表示创建;
参数“-i 或--input”,格式为json 格式文本的云主机的名称、镜像名称 2 个信息。其他
参数同上述开发环境云主机一致。
创建待成功,再返回查询该云主机的信息,结果以json 格式输出到控制台。
参考执行实例如下:
python3 ecs_manager.py create --input ' { "name": " chinaskill001", "imagename": "CentOS
7.9 64bit"} '
(2)支持查询给定具体名称的 ECS 云主机查询。
位置参数“get”,表示查询 ECS;
参数“-n 或 --name”支持指定名称 ECS 查询, 类型为 string。
参数“-o 或 --output”支持查询该 ECS 信息输出到文件, 格式为json 格式。
参考执行实例如下:
python3 ecs_manager.py get --name chinaskill001-o chinaskill001.json
(3)程序支持查询目前区域账号下所有的 ECS 云主机。
位置参数“getall”, 表示查询所有 ECS 云主机;
参数“-o 或--output”支持输出到文件,格式为 yaml 格式。
参考执行实例如下:
python3 ecs_manager.py getall -o huawei_all_ecs.yaml
(4)支持删除指定的名称的云主机。
位置参数“delete”,表示删除一个 ECS 云主机;返回 response,通过控制台输出。
参数“-n 或--name”支持指定名称查询, 类型为 string。
参考执行实例如下:
python3 ecs_manager.py delete --name chinaskill001
完成后提交“chinaskill2022 开发运行环境云主机 ”的用户名、密码和 IP 地址到答题框。
1.执行 ecs_manager.py 脚本,指定 create 和配置参数,成功创建 1 台云主机, 计 1 分; 2.执行 ecs_manager.py 脚本,指定 get 和配置参数, 成功查询具体名称云主机, 计 1 分; 3.执行 ecs_manager.py 脚本,指定 getall 和配置参数,成功查询目前区域账号下所有的 云主机,计 1 分; 4.执行 ecs_manager.py 脚本,指定 delete 和配置参数, 成功删除指定的云主机, 计 1 分。 |
【题目 4】Python 运维开发: ECS 云主机管理与监控的 Restful APIs HTTP 服务封装[4 分]
云服务器的/root/目录下编写 huawei_ecs_server.py 文件编写 Python 程序实现华为 ECS 云主机管理与云主机操作系统性能远程监控。 所有的资源申请区域为“华北-北京四”, 所
有服务封装成 Restful APIs 方式, host 为 127.0.0.1 ,端口 8888 ,供外部检测。
提示说明: 华为云主机支持安装所需 Python 库。提交前答案前,需安装程序所依赖的
Python 库。
具体要求:
(1)POST /ecs/server 创建云主机,需要等待成功该云主机后,返回查询该云主机信息。
Request 传输的数据为 application/json,json 包含 2 个必备信息, 名称、镜像名称。
json 数据格式案例如下:
{ "name": " cloud001", "imagename": "CentOS 7.9 64bit"}
其他必备参数与开发环境云主机一致。
Response 的 Body 以json 格式,返回所创建成功的主机详细信息。
(2)GET /ecs/server/{name}查询云主机; Response 的 Body 以 yaml 格式。
(3)GET /ecs/server/{name}/os 查询所指定 ID 云主机的操作系统信息;Response 的json
格式返回。返回格式要求如下:
os_release:操作系统的版本系统;
cpu_util:CPU 使用率%;
mem_util:内存使用率%;
disk_util:磁盘使用率%。
(4)DELETE /ecs/server/{name}删除云主机; Response 的 Body 以json 格式。
编码完成后,自己手动执行提供 Web HTTP 服务的 huawei_ecs_server.py 程序。
完成后提交“chinaskill2022 开发运行环境云主机 ”的用户名、密码和 IP 地址到答题框。
1.执行 huawei_ecs_server.py 脚本,端口成功启动, 计 0.5 分; 2.发起指定参数的 POST 创建 ECS 请求,成功创建云主机, 计 1 分; 3.发起指定参数的 GET 查询 ECS 请求,成功查询云主机, 计 1 分; 4.发起指定参数的 GET 查询 ECS OS 请求, 成功查询云主机的操作系统信息,计 1 分; 5.发起指定参数的 DELET 删除 ECS 请求, 成功删除指定云主机,计 0.5 分。 |