GZ075 云计算应用赛题第8套

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

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

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“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系统调优-防止SYN攻击

修改controller节点的相关配置文件,开启SYN cookie,防止SYN洪水攻击。

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

1.2.1       Glance镜像上传

在OpenStack私有云平台上,使用cirros-0.3.4-x86_64-disk.img镜像创建一个名为cirros的镜像。

1.2.2       Keystone优化-优化token失效时间

请修改相关配置,将Keystone的失效列表缓存时间增加到原来的两倍。

1.2.3       虚拟机调整flavor

使用OpenStack私有云平台,请修改相应配置,实现云主机调整实例大小可以使用。

1.2.4       使用Heat模板创建flavor

编写模板server.yaml,按要求创建云主机类型。

1.2.5       Ceph部署

使用提供的ceph.tar.gz软件包,安装ceph服务并完成初始化操作。

1.2.6       Glance调优

在OpenStack平台中,修改相关配置文件,将子进程数量相应的配置修改成2。

1.2.7       Swift配置Glance后端存储

使用OpenStack私有云平台,修改相应的配置文件,使对象存储Swift作为glance镜像服务的后端存储。

1.2.8       Nova资源优化

编辑nova.conf文件,将内存预留量配置为4GB。

1.2.9       RabbitMQ集群部署

使用OpenStack私有云平台,创建三个云主机搭建RabbitMQ集群。

1.2.10     云平台安全策略提升

使用OpenStack,安装必要组件,将私有云平台的访问策略从http提升至https。

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

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

1.3.1       编写Shell脚本备份数据库

编写数据库的定期备份shell脚本。

1.3.2       Ansible部署MariaDB服务

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

1.3.3       Ansible部署ELK服务

编写Playbook,部署的ELK。

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       容器化部署Hyperf

编写Dockerfile文件构建hyperf镜像,要求基于centos安装PHP及扩展,并安装和配置Swoole,并设置服务开机自启。

2.2.4       容器化部署Nginx

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

2.2.5       编排部署Hyperf开发框架

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

2.2.6       部署Jenkins

在default命名空间下完成Jenkins的部署,配置Jenkins的持久化存储,完成离线插件的安装,并设置登录信息。

2.2.7       配置Jenkins Slave

在Jenkins中添加Kubernetes云,并完成容器模板、Pod模板和标签的配置。

2.2.8       部署GitLab

将GitLab部署到default命名空间下,部署完成后新建公开项目,并将提供的代码上传到该项目。

2.2.9       在Kubernetes集群default命名空间下完成RabbitMQ和Nacos环境的部署,并完成Nacos服务的配置管理。

2.2.10     构建CI/CD

在Jenkins中新建流水线任务,在GitLab项目中编写声明式Pipeline,触发项目构建,要求完成项目代码的编译,然后构建Docker镜像并推送到Harbor仓库,并基于新构建的镜像将服务自动发布到Kubernetes集群中。

2.2.11     服务网格:创建Ingress Gateway

将Bookinfo应用部署到default命名空间下,使用Istio Gateway可以实现应用程序从外部访问,请为Bookinfo应用创建一个网关,指定所有HTTP流量通过80端口流入网格,然后将网关绑定到虚拟服务Bookinfo上。

2.2.12     KubeVirt运维:创建VM

使用云端镜像在default命名空间下创建一台VM,名称为exam,指定VM的内存、CPU、运行策略、主机名等配置。

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

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

2.3.1       管理Pod服务

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

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       安装Helm

使用提供的Helm软件包,在kcloud集群中安装Helm服务。

3.2.5       HPA管理—创建HPA规则

在kcloud集群节点/root目录下编写YAML文件hpa.yaml,完成HPA管理。

3.2.6       使用Helm模板

使用赛项提供的mychart-0.1.0.tgz模板包,在kcloud集群中安装名为nginx的模板实例。

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

3.3.1       开发环境搭建

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

3.3.2       安全组管理

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

3.3.3       安全组规则管理

调用SDK安全组规则的方法,实现安全组规则的增删查改。

3.3.4       云主机管理

调用SDK云主机管理的方法,实现云主机的的增删查改。

3.3.5       完成公有云平台自动化运维程序开发。(本任务只公布考试范围,不公布赛题)

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

3.4.1       云端部署

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

3.4.2       边端部署

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

3.4.3       边缘应用部署

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类

目录 往期精彩内容: 前言 模型整体结构 1 变分模态分解VMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 故障VMD分解可视化 2.3 故障数据的VMD分解预处理 3 基于VMD-CNN-BiGRU-Attenion的轴承故障诊断分类 3.1 定义VMD-CNN-BiGRU-Attenion分类网…

基于51单片机的模拟量输入输出通道实验

实验一 模拟量输入输出通道实验(C51) 一、实验目的: 1、了解A/D、D/A转换的基本原理。 2、了解A/D转换芯片ADC0809、D/A转换芯片DAC0832的性能及编程方法。 3、掌握过程通道中A/D转换与D/A转换与计算机的接口方法。 4、了解计算机如何进…

Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现Mono12和Mono16位深度的图像保存(C#)

Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#) Baumer工业相机Baumer工业相机保存位深度12/16位图像的技术背景代码案例分享1:引用合适的类文件2:NEOAPI SDK联合OpenCV进行图…

Mysql-redoLog

Redo Log redo log进行刷盘的效率要远高于数据页刷盘,具体表现如下 redo log体积小,只记录了哪一页修改的内容,因此体积小,刷盘快 redo log是一直往末尾进行追加,属于顺序IO。效率显然比随机IO来的快Redo log 格式 在MySQL的InnoDB存储引擎中,redo log(重做日志)被用…

Python字符串

目录 Python字符串字符串字面量用字符串向变量赋值多行字符串字符串是数组字符串负的索引字符串长度 字符串方法strip()lower()upper()replace()split() 检查字符串字符串级联(串联)字符串格式字符串方法 Python字符串 Python的字符串是字符的序列&#…

【Spring 篇】深入解析SpringMVC的组件魅力

SpringMVC,这个名字在Java Web开发者的耳边仿佛是一首动听的旋律,携着轻盈的氛围,带给我们一种愉悦的编程体验。但是,当我们深入探寻这个框架时,它的魅力远不止表面的简单,它由许多组件构成,每个…

解决方案类常用网址

1.操作系统类(原版操作系统下载网址) https://next.itellyou.cn/ 之前的版本 https://msdn.itellyou.cn/ 2.ppt免费网站(不用注册) https://www.1ppt.com/

pandas查看数据常用方法(以excel为例)

目录 1.查看指定行数的数据head() 2. 查看数据表头columns 3.查看索引index 4.指定索引列index_col 5.按照索引排序 6.按照数据列排序sort_values() 7.查看每列数据类型dtypes 8.查看指定行列数据loc 9.查看数据是否为空isnull() 1.查看指定行数的数据head() &#xff…

CAN总线记录仪在车企服务站的应用

CAN总线记录仪在车企服务站的应用 CAN总线记录仪在车企服务站中有着广泛的应用。这种设备可以记录车上的CAN总线数据,方便工程师进行分析,以找出可能存在的问题。CAN记录仪一般采用TF卡来存储数据,实现离线脱机实时存储。数据存储完毕后&…

api密钥管理系统有哪些功能

API密钥管理在当今的软件开发和运营中扮演着至关重要的角色。随着微服务和云计算的普及,越来越多的应用程序依赖于外部API来提供核心功能。与此同时,这些API通常需要某种形式的身份验证,以确保请求来自合法和受信任的来源。API密钥管理正是为…

RMI简介

RMI 介绍 RMI (Remote Method Invocation) 模型是一种分布式对象应用,使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。因此,RMI 意味着需要一个…

我为什么要写RocketMQ消息中间件实战派上下册这本书?

我与RocketMQ结识于2018年,那个时候RocketMQ还不是Apache的顶级项目,并且我还在自己的公司做过RocketMQ的技术分享,并且它的布道和推广,还是在之前的首席架构师的带领下去做的,并且之前有一个技术神经质的人&#xff0…

13 | 使用代理ip爬取安居客房源信息

这是一个简单的Python爬虫代码,用于从安居客网站爬取房地产信息。该爬虫使用了代理IP来绕过可能的封禁,并提供了一些基本的信息抽取功能。 如果访问过多,那么可能出现了验证码 对此,最好的方法就是换ip。 使用代理IP的主要目的是保护爬虫的稳定性和隐私。以下是一些常见的原…

Qt/QML编程学习之心得:一个音频播放器的实现(29)

在window下,打开音乐播放器,然后打开一个.mp3文件,就可以实现播放了,那么在Qt/QML中如何实现呢?首先所有的设计都是基于音乐播放器的,嵌入式linux下同样也有音乐播放器,比如mplayer。其调用方法如下,可以启动一个从头开始播放音频的mplayer进程。 那么音频播放器就是给…

【WPF.NET开发】WPF中的版式

本文内容 改进的文本质量和性能丰富的版式增强的国际文本支持增强的字体支持新的文本应用程序编程接口 (API) 本主题介绍 WPF 的主要版式功能。 这些功能包括改进的文本呈现质量和性能、OpenType 版式支持、增强的国际文本、增强的字体支持和新的文本应用程序编程接口 (API)。…

Material Design 进阶(十一)——Chip,ChipGroup,ChipDrawable使用

流式布局标签发展历程 第一阶段:实现这种界面的时候,基本都是自定义一个控件,然后在Java代码中动态的 添加一个个的TextView,还需要计算布局宽度/高度,进行换行等等处理,比较复杂;第二阶段:使用…

tailwindcss真的好用吗?

写在前面 今天写一篇关于tailwindcss 的文章,其实这个css技术已经出现很久了,在一些大型项目很多人也已经在用了,虽然不是说必须要会吧,但是没听说过肯定是不行的,他的操作逻辑应该是和unocss差不多,但是今…

1 快速前端开发

前端开发 1 前端开发1.快速开发网站2.浏览器能识别的标签2.1 编码(head)2.2 title(head)2.3 标题2.4 div和span2.4.5 超链接2.4.6 图片小结2.4.7 列表2.4.8 表格2.4.9 input系列(7个)2.4.10 下拉框2.4.11 多…

01 SpringMVC的快速理解

1.1 如图所示,SpringMVC负责表述层(控制层Controller)实现简化! SpringMVC的作用主要覆盖的是表述层,例如: 请求映射、数据输入、视图界面、请求分发、表单回显、会话控制、过滤拦截、异步交互、文件上传…

python 列表的高级应用

当前版本: Python 3.8.4 简介 列表(list)是Python编程语言中的基本数据类型之一,也是一个非常重要的通用序列。在其它编程语言中,它们通常被称为“数组”。可以存储多个元素,包括数字、字符串、甚至其他列…