2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷5

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“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   Manila服务安装与使用

在控制和计算节点上分别在控制节点和计算节点安装Manila服务。

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

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

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

1.2.2     OpenStack消息队列调优

在OpenStack私有云平台,分别通过用户级别、系统级别、配置文件来设置RabbitMQ服务的最大连接数为10240。

1.2.3     Raid磁盘阵列管理

在云主机上对云硬盘进行操作,先进行分区,然后创建名为/dev/md5、raid级别为5的磁盘阵列加一个热备盘。

1.2.4     虚拟机调整flavor

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

1.2.5     OpenStack镜像压缩

在HTTP文件服务器中存在一个镜像为CentOS7.5-compress.qcow2的镜像,请对该镜像进行压缩操作。

1.2.6     Ceph部署

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

1.2.7     使用Heat模板创建网络

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

1.2.8     Glance调优

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

1.2.9     Nova资源优化

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

1.2.10   Nova安装与优化-优化数据库连接

修改nova相关配置文件,修改连接池大小和最大允许超出的连接数为10。

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

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

1.3.1     编写Shell一键部署脚本

编写一键部署nfs云网盘应用系统。

1.3.2     Ansible部署MariaDB服务

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

1.3.3     Ansible部署zabbix服务

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

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环境

新建命名空间kube-ops,将GitLab部署到该命名空间下,然后完成GitLab服务的配置。

2.2.7     部署GitLab Runner

将GitLab Runner部署到kube-ops命名空间下,并完成GitLab Runner在GitLab中的注册。

2.2.8     配置GitLab

在GitLab中新建公开项目并导入离线项目包,然后将Kubernetes集群添加到GitLab中。

2.2.9     构建CI/CD

在项目中编写流水线脚本,然后触发自动构建,要求完成构建代码、构建镜像、推送镜像Harbor、并发布服务到Kubernetes集群。

2.2.10   服务网格:路由管理

将Bookinfo应用部署到default命名空间下,应用默认请求路由,将所有流量路由到各个微服务的v1版本。然后更改请求路由reviews,将指定比例的流量从reviews的v1转移到v3。

2.2.11   KubeVirt运维:VMI管理

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

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

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

2.3.2     管理Deployment资源

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

2.3.1     管理service资源

Kubernetes Python运维脚本开发,使用Restful APIs方式管理service服务。

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。

任务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     WordPress应用部署

根据提供的chart包wordpress-13.0.23.tgz部署WordPress服务。

3.2.6     ChartMuseum仓库部署

在k8s集群中创建chartmuseum命名空间,编写yaml文件在chartmuseum命名空间中使用chartmuseum:latest镜像创建本地私有chart仓库。

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

3.3.1     开发环境搭建

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

3.3.2     云主机管理

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

3.3.3     云主机组管理

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

3.3.4     弹性伸缩组管理

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

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     对接边缘计算系统,完成云应用微服务开发。(本任务只公布考试范围,不公布赛题)

##需要资源或有问题的,可私博主!!

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

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

相关文章

[Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例

在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。 最近一次單價: INDEX($B2:$G2,1,LARGE(IF(ISBLAN…

鸿蒙原生应用再添新丁!京东入局鸿蒙

鸿蒙原生应用再添新丁!京东入局鸿蒙 来自 HarmonyOS 微博1月10日消息,#京东启动鸿蒙原生应用开发#!优惠信息、派送进度都可以随时随地便捷查询。双方将携手为消费者带来全场景“多快好省”购物体验,更智能,更贴心&…

【Python机器学习】SVM——线性模型与非线性特征

SVM(核支持向量机)是一种监督学习模型,是可以推广到更复杂模型的扩展,这些模型无法被输入空间的超平面定义。 线模型在低维空间中可能非常受限,因为线和平面的灵活性有限,但是有一种方式可以让线性模型更加…

three.js实现扩散波效果

three.js实现扩散波效果 图例 步骤 创建一个圆柱&#xff0c;不要顶与底面材质允许透明&#xff0c;双面显示动态修改缩放与透明度 代码 <template><div class"app"><div ref"canvesRef" class"canvas-wrap"></div>…

jmeter+ant+Jenkins集成

一、 环境准备 1、Jenkins下载&#xff1a;https://jenkins.io/zh/download/ 2、 Jenkins安装&#xff1a;解压下载的压缩包&#xff0c;直接点击msi文件安装即可 4、 Jenkins登录用户设置&#xff1a;装&#xff1a; 浏览器地址栏中输入&#xff1a;http://localhost:8080/…

jmeter分布式测试

场景&#xff1a;需求要求使用用大量的客户访问时&#xff0c;可以使用分布式来完成 分布式实现原理&#xff1a; 材料&#xff1a;一台控制机器&#xff0c;若干台代理机也叫执行机 运行时&#xff0c;控制机将脚本发送到代理机上-->代理机拿到就开始执行&#xff0c;不会…

Kaniko

一. Kaniko 官网 Kaniko 是一个是谷歌开源的一款用来构建容器镜像在k8s集群内构建容器镜像的工具&#xff0c;使用时&#xff0c;需要一个 Kubernetes 集群&#xff0c; 可以在 Kubernetes 上无需特权的构建 image&#xff0c;k8s CRI无需docker使用后 pull 和 push 镜像很慢…

一文彻底理解 Cookie、Session、Token

很久以前&#xff0c;Web 基本上就是文档的浏览而已&#xff0c;既然是浏览&#xff0c;作为服务器&#xff0c;不需要记录谁在某一段时间里都浏览了什么文档&#xff0c;每次请求都是一个新的 HTTP 协议&#xff0c;就是请求加响应&#xff0c;尤其是我不用记住是谁刚刚发了 H…

Redis:原理速成+项目实战——Redis实战9(秒杀优化)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战8&#xff08;基于Redis的分布式锁及优化&#xff09; &#x1f4da;订阅专栏&…

Unity中URP下深度图的线性转化

文章目录 前言一、_ZBufferParams参数有两组值二、LinearEyeDepth1、使用2、Unity源码推导&#xff1a;3、使用矩阵推导&#xff1a; 三、Linear01Depth1、使用2、Unity源码推导3、数学推导&#xff1a; 前言 在之前的文章中&#xff0c;我们实现了对深度图的使用。因为&#…

uniapp最简单的底部兼容安全区域显示

效果图&#xff1a; 1.html写上动态padding-bottom <view class"button-wrap" :style"padding-bottom:bottomPaddingrpx"><view class"com-btn cencel-btn">取消</view><view class"com-btn confirm-btn " cl…

了解虾皮平台的免费采集软件:数据抓取、分析与市场优势

在电商领域&#xff0c;市场分析和选品策略制定是卖家们取得成功的关键。虾皮&#xff08;Shopee&#xff09;平台提供了免费采集软件&#xff0c;帮助卖家从平台上抓取商品数据&#xff0c;以便进行市场分析、选品策略制定等。这类软件具备数据抓取、数据分析、批量处理、实时…

一文解决新手所有python环境变量报错问题

问题描述: cmd控制台输入python或pip后会出现下面情况 首先确保安装程序时勾选了安装pip pip的所在目录&#xff0c;可以打开该目录查看是否存在 如果还有问题&#xff0c;确保环境变量配置了python的路径 具体操作步骤 此处的用户环境变量是只针对当前系统用户有效&a…

固乔快递查询助手:一键批量查询,省时省力

在快递行业飞速发展的今天&#xff0c;高效、准确地掌握快递信息对于电商卖家、物流公司管理者以及经常需要查询快递信息的消费者来说至关重要。固乔快递查询助手正是为此而生&#xff0c;它的批量查询功能为用户带来前所未有的便利和高效。 首先&#xff0c;如何下载固乔快递查…

「超级细菌」魔咒或将打破,MIT 利用深度学习发现新型抗生素

作者&#xff1a;加零 编辑&#xff1a;李宝珠、三羊 MIT 利用图神经网络 Chemprop 识别潜在抗生素&#xff0c;特异性杀死鲍曼不动杆菌。 自然界中充满了各种各样的微生物&#xff0c;例如结核杆菌&#xff08;导致肺结核&#xff09;、霍乱弧菌&#xff08;导致霍乱&#…

Vue 自定义仿word表单录入之单选按钮组件

因项目需要&#xff0c;要实现仿word方式录入数据&#xff0c;要实现鼠标经过时才显示编辑组件&#xff0c;预览及离开后则显示具体的文字。 鼠标经过时显示 正常显示及离开时显示 组件代码 <template ><div class"pager-input flex border-box full-width fl…

程序员试用期转正工作总结

一、试用期工作总结 在公司的三个月试用期中&#xff0c;我完成了以下工作&#xff1a; 完成了XX个功能模块的开发&#xff0c;包括XX模块、XX模块和XX模块。参与了XX个项目的开发和上线&#xff0c;其中XX项目、XX项目和XX项目是我主导的。优化了现有系统的性能&#xff0c;特…

CMU15-445-Spring-2023-Project #2 - 前置知识(lec07-010)

Lecture #07_ Hash Tables Data Structures Hash Table 哈希表将键映射到值。它提供平均 O (1) 的操作复杂度&#xff08;最坏情况下为 O (n)&#xff09;和 O (n) 的存储复杂度。 由两部分组成&#xff1a; Hash Function和Hashing Scheme&#xff08;发生冲突后的处理&…

【Python】使用tkinter设计开发Windows桌面程序记事本(2)

上一篇&#xff1a;【Python】使用tkinter设计开发Windows桌面程序记事本&#xff08;1&#xff09;-CSDN博客 下一篇&#xff1a; 作者发炎 此代码模块是继承上一篇文章的代码模块的基础上开始设计开发的。 如果不知道怎么新建"记事本项目"文件夹&#xff0c;请参…

【高等数学之泰勒公式】

一、从零开始 1.1、泰勒中值定理1 什么是泰勒公式?我们先看看权威解读: 那么我们从古至今到底是如何创造出泰勒公式的呢? 由上图可知&#xff0c;任一无穷小数均可以表示成用一系列数字的求和而得出的结果&#xff0c;我们称之为“无穷算法”。 那么同理我们想对任一曲线来…