GZ075 云计算应用赛题第7套

2023年全国职业院校技能大赛(高职组)

“云计算应用”赛项赛卷7

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,选择国内主流公有云平台服务,基于数字化平台底座,面向业务开发边缘计算云应用产品。

拟将该任务交给工程师A与B,分工协助完成云平台服务部署、云应用开发、云系统运维等任务,系统架构如图1所示,IP地址规划如表1所示。

图1 系统架构图

表1 IP 地址规划

设备名称

主机名

接 口

IP 地址

说明

云服务器 1

controller

eth0

172.129.x.0/24

vlan x

eth1

自定义

自行创建

云服务器 2

compute

eth0

172.129.x.0/24

vlan x

eth1

自定义

自行创建

云服务器 3

...

云服务器n

自定义

eth0

172.129.x.0/24

PC-1

本地连接

172.24.16.0/24

PC 使用

说明

1.竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,参赛选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题,2名参赛选手的账号密码相同;

2.表中的x为赛位号,在进行OpenStack搭建时的第二块网卡地址根据题意自行创建;

3.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;

4.考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;

5.竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的IP地址,用户名和密码。

模块一 私有云(30分)

企业首先完成私有云平台搭建和运维,私有云平台提供云主机、云网络、云存储等基础架构云服务,并开发自动化运维程序。

任务1 私有云服务搭建(5分)

1.1.1       基础环境配置

1.控制节点主机名为controller,设置计算节点主机名为compute;

2.hosts文件将IP地址映射为主机名。

1.1.2       yum源配置

使用提供的http服务地址,分别设置controller节点和compute节点的yum源文件http.repo。

1.1.3       配置无秘钥ssh

配置controller节点可以无秘钥访问compute节点。

1.1.4       基础安装

在控制节点和计算节点上分别安装openstack-iaas软件包。

1.1.5       数据库安装与调优

在控制节点上使用安装Mariadb、RabbitMQ等服务。并进行相关操作。

1.1.6       Keystone服务安装与使用

在控制节点上安装Keystone服务并创建用户。

1.1.7       Glance安装与使用

在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。

1.1.8       Nova安装

在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。

1.1.9       Neutron安装

在控制和计算节点上正确安装Neutron服务。

1.1.10     Dashboard安装

在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。

1.1.11     Swift安装

在控制节点和计算节点上分别安装Swift服务。安装完成后,将cirros镜像进行分片存储。

1.1.12     Cinder创建硬盘

在控制节点和计算节点分别安装Cinder服务,请在计算节点,对块存储进行扩容操作。

1.1.13     Linux系统调优-脏数据回写

Linux系统内存中会存在脏数据,一般系统默认脏数据30秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。

任务2 私有云服务运维(15分)

1.2.1       OpenStack开放镜像权限

在admin项目中存在glance-cirros镜像文件,将glance-cirros镜像指定demo项目进行共享使用。

1.2.2       使用Heat模板创建网络

在自行搭建的OpenStack私有云平台上,编写Heat模板文件,完成网络的创建。

1.2.3       镜像转换

使用CentOS7.5-compress.qcow2 的镜像,将该镜像转换为RAW格式。

1.2.4       NFS对接Glance后端存储

使用OpenStack私有云平台,创建一台云主机,安装NFS服务,然后对接Glance后端存储。

1.2.5       Glance镜像存储限制

使用自行搭建的OpenStack平台。请修改Glance后端配置文件,将用户的镜像存储配额限制为20GB。

1.2.6       Nova清除缓存

在OpenStack平台上,修改相关配置,让长时间不用的镜像缓存在过一定的时间后会被自动删除。

1.2.7       Redis集群部署。

部署Redis集群,Redis的一主二从三哨兵架构。

1.2.8       Redis AOF调优

修改在Redis相关配置,避免AOF文件过大,Redis会进行AOF重写。

1.2.9       公有云安全:入侵检测系统

使用提供的makechk.tar.gz包安装chkrootkit入侵检测工具,安装完毕后使用chkrootkit工具扫描系。

1.2.10     公有云安全:日志分析服务

然后使用提供的sepb_elk_latest.tar镜像安装ELK服务。

1.2.11     完成私有云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)

任务3 私有云运维开发(10分)

1.3.1       编写Shell一键部署脚本

编写一键部署脚本,要求可以一键部署gpmall商城应用系统。

1.3.2       Ansible部署FTP服务

编写Ansible脚本,部署FTP服务。

1.3.3       Ansible部署Kafka服务

编写Playbook,部署的ZooKeeper和Kafka。

1.3.4       编写OpenStack容器云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)

模块二 容器云(30分)

企业构建Kubernetes容器云集群,引入KubeVirt实现OpenStack到Kubernetes的全面转型,用Kubernetes来管一切虚拟化运行时,包含裸金属、VM、容器。同时研发团队决定搭建基于Kubernetes 的CI/CD环境,基于这个平台来实现DevOps流程。引入服务网格Istio,实现业务系统的灰度发布,治理和优化公司各种微服务,并开发自动化运维程序。

任务1 容器云服务搭建(5分)

2.1.1       部署容器云平台

使用OpenStack私有云平台创建两台云主机,分别作为Kubernetes集群的master节点和node节点,然后完成Kubernetes集群的部署,并完成Istio服务网格、KubeVirt虚拟化和Harbor镜像仓库的部署。

任务2 容器云服务运维(15分)

2.2.1       容器化部署MariaDB

编写Dockerfile文件构建mysql镜像,要求基于centos完成MariaDB数据库的安装与配置,并设置服务开机自启。

2.2.2       容器化部署Redis

编写Dockerfile文件构建redis镜像,要求基于centos完成Redis服务的安装和配置,并设置服务开机自启。

2.2.3       容器化部署Nginx

编写Dockerfile文件构建nginx镜像,要求基于centos完成Nginx服务的安装和配置,并设置服务开机自启。

2.2.4       容器化部署Explorer

编写Dockerfile文件构建explorer镜像,要求基于centos完成PHP和HTTP环境的安装和配置,并设置服务开机自启。

2.2.5       编排部署Explorer管理系统

编写docker-compose.yaml文件,要求使用镜像mysql、redis、nginx和explorer完成Explorer管理系统的编排部署。

2.2.6       部署GitLab

将GitLab部署到Kubernetes集群中,设置GitLab服务root用户的密码,使用Service暴露服务,并将提供的项目包导入到GitLab中。

2.2.7       部署GitLab Runner

将GitLab Runner部署到Kubernetes集群中,为GitLab Runner创建持久化构建缓存目录以加速构建速度,并将其注册到GitLab中。

2.2.8       部署GitLab Agent

将Kubernetes集群添加到GitLab项目中,指定名称和命名空间。

2.2.9       构建CI/CD

编写流水线脚本触发自动构建,要求基于GitLab项目完成代码的编译、镜像的构建与推送,并自动发布应用到Kubernetes集群中。

2.2.10     服务网格:Sidecar管理

在default命名空间下部署Bookinfo应用。创建exam命名空间,并声明一个Sidecar配置,允许向指定命名空间的公共服务输出流量。为所有指定标签的Pod声明一个Sidecar配置,接收和转发指定的流量。

2.2.11     KubeVirt运维:VMI管理

将提供的镜像在default命名空间下创建一台VMI,名称为exam,使用Service暴露VMI。

2.2.12     完成容器云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)

任务3 容器云运维开发(10分)

2.3.1       管理job服务

Kubernetes Python运维脚本开发-使用SDK方式管理job服务。

2.3.2       自定义调度器

Kubernetes Python运维脚本开发-使用Restful API方式管理调度器。

2.3.3       编写Kubernetes容器云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)

模块三 公有云(40分)

企业选择国内公有云提供商,选择云主机、云网络、云硬盘、云防火墙、负载均衡等服务,可创建Web服务,共享文件存储服务,数据库服务,数据库集群等服务。搭建基于云原生的DevOps相关服务,构建云、边、端一体化的边缘计算系统,并开发云应用程序。

根据上述公有云平台的特性,完成公有云中的各项运维工作。

任务1 公有云服务搭建(5分)

3.1.1       私有网络管理

在公有云中完成虚拟私有云网络的创建。

3.1.2       云实例管理

登录公有云平台,创建两台云实例虚拟机。

3.1.3       管理数据库

使用intnetX-mysql网络创建两台chinaskill-sql-1和chinaskill-sql-2云服务器,并完成MongoDB安装。

3.1.4       主从数据库

在chinaskill-sql-1和chinaskill-sql-2云服务器中配置MongoDB主从数据库。

3.1.5       node环境管理

使用提供的压缩文件,安装Node.js环境。

3.1.6       安全组管理

根据要求,创建一个安全组。

3.1.7       RocketChat上云

使用http服务器提供文件,将Rocket.Chat应用部署上云。

3.1.8       NAT网关

根据要求创建一个公网NAT网关。

3.1.9       云服务器备份

创建一个云服务器备份存储库名为server_backup,容量为100G。将ChinaSkill-node-1云服务器制作镜像文件chinaskill-image。

3.1.10     负载均衡器

根据要求创建一个负载均衡器chinaskill-elb。

3.1.11     弹性伸缩管理

根据要求新建一个弹性伸缩启动配置。

任务2 公有云服务运维(10分)

3.2.1       云容器引擎

在公有云上,按照要求创建一个x86架构的容器云集群。

3.2.2       云容器管理

使用插件管理在kcloud容器集群中安装Dashboard可视化监控界面。

3.2.3       使用kubectl操作集群

在kcloud集群中安装kubectl命令,使用kubectl命令管理kcloud集群。

3.2.4       云硬盘存储卷

根据要求购买云硬盘存储卷。

3.2.5       生命周期管理-配置Pod生命周期

登录kcloud集群节点,在default命名空间下创建一个名Pod,并进行Pod生命周期管理。

3.2.6       定时任务管理—创建定时任务

在kcloud集群节点/root目录下编写yaml文件date.yaml完成定时管理任务。

任务3 公有云运维开发(10分)

3.3.1       开发环境搭建

创建一台云主机,并登录此云服务器,安装Python3.68运行环境与SDK依赖库。

3.3.2       虚拟私有云VPC管理

调用api安全组的接口,实现VPC的增删查改。

3.3.3       虚拟私有云VPC子网管理

调用api安全组的接口,实现虚拟私有云VPC子网的增删查改。

3.3.4       弹性伸缩组管理

编写Python代码,调用弹性伸缩组API,创建弹性伸缩组。

任务4 边缘计算系统运维(10分)

3.4.1       云端部署

构建Kubernetes容器云平台,云端部署KubeEdge CloudCore云测模块,并启动cloudcore服务。

3.4.2       边端部署

在边侧部署KubeEdge EdgeCore边侧模块,并启动edgecore服务。

3.4.3       边缘应用部署

通过边缘计算平台完成应用场景镜像部署与调试。(本任务只公布考试范围,不公布赛题)

任务5 边缘计算云应用开发(5分)

3.5.1       对接边缘计算系统,完成云应用微服务开发。(本任务只公布考试范围,不公布赛题)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/322191.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL使用通配符进行数据搜索以及过滤

目录 1.什么是通配符? 2.通配符之→百分号(%) 3.通配符之→下划线(_) 4.通配符使用注意事项 *本文涉及概念来源于图灵程序设计丛书,数据库系列——《MySQL必知必会》 1.什么是通配符? 通配符(wildcard) :用来匹配值的一部分…

Mysql从入门到精通

系列文章目录 MySQL集群及高可用-mysql主从复制1 Mysql从入门到精通 系列文章目录一、mysql主从复制二、mysql主从配置server1(主库master)三、mysql主从配置server2(从库,slave)四、测试五、主机重启服务后,二进制日志文件变化六、mysldump…

1.如何记录每个变量携带的数据:DataFrame与Series

序列格式和列表区别:序列格式可以直接汇总:均值,总和,百分位数等 DataFrame Series

一篇文章带你了解Nacos的发展史

Nacos是一个全功能的服务发现和配置管理平台,致力于帮助开发者构建和管理微服务架构。以下是Nacos的发展历程: 2018年3月:首次开源。2018年8月:进入Apache软件基金会的孵化阶段,成为Apache的孵化项目。2019年3月&…

小型洗衣机怎么用?好用不贵的小型洗衣机推荐

近期,有不少小伙伴都在议论“对于内衣是机洗好,还是手洗”这个问题,对于机洗党认为家用的洗衣机就能清洁干净内衣物,而坚定的手洗党则是认为应该用手去洗,因为机洗的话,其他大件衣服混在一起洗,…

【每日一题】82. 删除排序链表中的重复元素 II-2024.1.15

题目: 82. 删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2…

大屏项目:react中实现3d效果的环形图包括指引线

参考链接3d环形图 3d效果的环形图 项目需求实现方式指引线(线的样式字体颜色) 项目需求 需要在大屏上实现一个3d的环形图,并且自带指引线,指引线的颜色和每段数据的颜色一样,文本内容变成白色,数字内容变…

FPGA 原理图细节--画引脚

BGA引脚表示 1.1 FPGA此引脚要正确和清晰,会在“Package Pin”中用到次物理接口 1.2, MCU 只用管对应的GPIO逻辑接口就可以了 标识Bank电平 标识出对应Bank的电平,在电路设计中可以清晰的知道对应的脚位输出电平。在"IO std"也方便的选择 Ea…

D25XB60-ASEMI电机整流桥D25XB60

编辑:ll D25XB60-ASEMI电机整流桥D25XB60 型号:D25XB60 品牌:ASEMI 封装:GBJ-5(带康铜丝) 特性:插件、整流桥 平均正向整流电流(Id):25A 最大反向击穿…

Stream流递归查询部门树

Java 递归查询树是很常见的功能,也有很多写法,小编这里记录stream流递归部门树写法,自从小编用上stream流之后,是爱不释手,的确是个不错的好东西,话不多说,直接上代码 第一步:先创建…

C# new Thread和Task.Run,多线程(Thread和Task)

一、开启多线程-new Thread的使用 示例一 Thread thread25yi new Thread(new ThreadStart(obj.MethodTimer1)); thread25yi.Start(); void MethodTimer1() { while (true) { Console.WriteLine(DateTime.Now.ToString() "_" thread25yi.CurrentThread.Managed…

宿舍维修管理系统:从数据库到前端的全面解析

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

低代码表单引擎: API接口数据打造高效表单下拉组件的关键

在当今的数字化时代,用户界面组件在应用程序开发中扮演着至关重要的角色。一个好的组件不仅可以提高用户体验,还可以简化开发过程。在各种用户界面组件中,下拉框是一个常见且实用的组件,它允许用户从一系列选项中进行选择。当这些…

1.IHRM人力资源后台 - 项目搭建

IHRM人力资源 - 项目搭建 文章目录 IHRM人力资源 - 项目搭建一、项目搭建1.1 项目搭建1.2 项目目录1.2.1 src 目录 1.3 App.vue 根组件解析1.4 基础设置 settings.js1.5 导航守卫 permission.js1.6 VUEX 二、 图标使用2.1 图标使用2.2 Icon 图标的解析 一、项目搭建 1.1 项目搭…

Cypress安装与使用教程(4)—— 软测大玩家

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

一篇搞明白微信的基本授权功能

一、介绍 由于部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope , 用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。 此类接口调用时: 如果用户未接受或拒绝过此权限…

2.IHRM人力资源 - 登录

一、登录页结构与表单开发 我们要实现的登录界面 目前的登录界面 1.1 登录页结构 复制下面的代码到views/login/index.vue页面下 <template><div class"login-container"><div class"logo"/><div class"form"><h1&…

使用 Jamf Pro 和 Okta 工作流程实现自动化苹果设备管理

Jamf的销售工程师Vincent Bonnin与Okta的产品经理Emily Wendell一起介绍了JNUC 2021的操作方法会议。它们涵盖了Okta工作流程&#xff08;Okta Workflow&#xff09;&#xff0c;并在其中集成了Jamf Pro&#xff0c;构建了一些工作流程&#xff0c;并提供了几个用例。 Okta 工作…

MySQL加锁规则

项目编写涉及到数据持久化一般选择使用MySQL。由于时间原因&#xff0c;数据库使用我选择了无脑三板斧&#xff1a;1. 建立了索引加速查询、2. 关闭自动提交事务、3. 在需要确保原子性的数据库操作之间手动创建和提交事务。 这么一看&#xff0c;仿佛即使是实际开发也与你此前…

什么是充放电振子理论?

CHAT回复&#xff1a;充放电振子模型&#xff08;Charging-Reversal Oscillator Model&#xff09;是一种解释ENSO现象的理论模型&#xff0c;这个模型把ENSO现象比喻成一个“热力学振荡系统”。 在这个模型中&#xff0c;ENSO现象由三个组成部分&#xff1a;充电&#xff08;C…