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

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“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    配置主机禁ping

修改controller节点的相关配置文件,配置controller节点禁止其他节点可以ping它。

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

1.2.1      使用Heat模板创建用户

编写Heat模板create_user.yaml,创建名为heat-user的用户。

1.2.2      KVM优化

在OpenStack平台上修改相关配置文件,启用-device virtio-net-pci in kvm。

1.2.3      NFS对接Glance后端存储

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

1.2.4      Redis主从

使用赛项提供的OpenStack私有云平台,创建两台云主机,配置为redis的主从架构。

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

修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。

1.2.6      Glance调优

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

1.2.7      Ceph部署

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

1.2.8      Glance对接Ceph存储

修改OpenStack平台中Glance服务的配置文件,将Glance后端存储改为Ceph存储。

1.2.9      Cinder对接Ceph存储

修改OpenStack平台中cinder服务的配置文件,将cinder后端存储改为Ceph存储。

1.2.10    Nova对接Ceph存储

修改OpenStack平台中Nova服务的配置文件,将Nova后端存储改为Ceph存储。

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

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

1.3.1      编写Shell一键部署脚本

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

1.3.2      Ansible部署ELK服务

编写Playbook,部署的ELK。

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

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

2.2.5      编排部署ERP管理系统

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

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    服务网格:创建VirtualService

将Bookinfo应用部署到default命名空间下,为Bookinfo应用创建一个名为reviews的VirtualService,要求来自名为Jason的用户的所有流量将被路由到reviews服务的v2版本。

2.2.11    KubeVirt运维:创建VMI

使用提供的镜像在default命名空间下创建一台VMI,名称为exam,指定VMI的内存、CPU、网卡和磁盘等配置,并开启Sidecar注入。

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

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

2.3.1      管理service资源

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

2.3.2      管理Pod服务

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

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      ChartMuseum仓库部署

在k8s集群中创建chartmuseum命名空间,编写yaml文件部署ChartMuseum服务。

3.2.6      WordPress应用部署

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

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

3.3.1      开发环境搭建

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

3.3.2      密钥对管理

编写Python代码,实现密钥对的创建。

3.3.4      云硬盘管理

调用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/248994.html

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

相关文章

【算法】Partitioning the Array(数论)

题目 Allen has an array a1,a2,…,an. For every positive integer k that is a divisor of n, Allen does the following: He partitions the array into n/k disjoint subarrays of length k. In other words, he partitions the array into the following subarrays: [a1,…

3 款最好的电脑硬盘数据迁移软件

您将从本页了解 3 款最好的 SSD硬盘数据迁移软件,磁盘供应商提供的软件和可靠的第三方软件。仔细阅读本文并做出您的选择。 什么是数据迁移? 数据迁移是将数据移动到其他计算机或存储设备的过程。在日常工作活动中,常见的数据迁移有三种&…

[Vue3] useRoute、useRouter

useRoute 返回当前路由地址。相当于在模板中使用 $route。必须在 setup() 中调用。用于在组件中获取当前路由的信息,返回一个包含路由信息的对象。这个函数适用于那些不需要监听路由变化的场景,只是获取当前路由信息的静态数据。 useRouter 返回 route…

[嵌入式系统-7]:龙芯1B 开发学习套件 -4- LoongIDE 集成开发工具的使用-创建应用程序工程、编译、下载、调试

目录 前言: 步骤1:设置工作工作空间 步骤2:设置工具链 步骤3:创建裸机应用程序 步骤4:创建带实时操作系统的应用程序 步骤5:编译 步骤6:下载调试 前言: LoongIDE集成开发环境…

ubuntu gedit主题更改

ubuntu16.04 gedit 编辑器又有首选项如何设置主题 这里下载主题 将主题XML复制到 /usr/share/gtksourceview-3.0/styles 文件夹内; 使用gsettings 命令设置喜欢的配色方案,使用方式如下:(实测不带.xml后缀哦) gsettings set org.gnome.gedi…

CleanMyMac X.4.14.6中文版新功能介绍,mac系统垃圾清理

近些年伴随着苹果生态的蓬勃发展,越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现,它的使用逻辑与Windows存在很多不同,而且随着使用时间的增加,一些奇奇怪怪的文件也会占据有限的磁盘空间,进而影响使用…

Docker本地部署Firefox浏览器并结合内网穿透公网访问

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…

Windows Server 2025 Azure Arc 介绍

Azure Arc 是一个扩展 Azure 平台的桥梁,可帮助你构建可灵活地跨数据中心、边缘和多云环境运行的应用程序和服务。使用一致的开发、操作和安全模型来开发云原生应用程序。 Azure Arc 可在新的和现有的硬件、虚拟化和 Kubernetes 平台、物联网设备和集成系统上运行。…

数据可视化工具之选,三选一?

在数据可视化的世界中,选择一款合适的工具对于提升工作效率和洞察力至关重要。本文将对三款主流数据可视化工具进行详细比较,包括山海鲸可视化、Echarts和D3.js,以帮助您做出明智的选择。 山海鲸可视化 山海鲸可视化是一款免费且功能强大的…

如何监控两台android设备之间串口通讯的ADB日志?

如果你的目标是将设备通过 Wi-Fi 连接到计算机,可以执行以下步骤: 一.通过 USB 连接设备: adb devices 确保设备通过 USB 连接,并且可以通过 adb devices 命令正常识别。 二、将设备1和设备2都切换到 TCP/IP 模式:…

Mac网线上网绿联扩展坞连接网线直接上网-无脑操作

声明:博主使用的绿联扩展坞 以下为绿联扩展坞Mac网线使用方法 1.首先需要下载电脑对应版本的驱动 直接点击即可下载 2. 下载好以后 解压 点进去 对应版本 博主直接使用最新的12-14 3. 安装包好了以后 会提示重启电脑 此时拔掉扩展坞 再重启动 拔掉扩展坞 再重启…

UE4 C++ 数据表

//基于结构体变量类型,创建数据表DataTable类型 USTRUCT(BlueprintType) struct FMyDataTableStruct : public FTableRowBase //把结构体变量公开到数据表类型 {GENERATED_BODY() //必须添加“GENERATED_BODY()”UPROPERTY(EditAnywhere, BlueprintReadWrite, Categ…

房屋租赁系统-java

思维导图:业务逻辑 类的存放: 工具类 Utility package study.houserent.util; import java.util.*; /***/ public class Utility {//静态属性。。。private static Scanner scanner new Scanner(System.in);/*** 功能:读取键盘输入的一个菜单…

嵌入式学习第十五天!(内存管理、链表)

1. 内存管理: 1. malloc void *malloc(size_t size); 功能:申请堆区空间 参数:size:申请堆区空间的大小 返回值:返回获得的空间的首地址,失败返回NULL 2. free void free(void *ptr); 功能:释…

父元素flex:1 高度却被子元素撑开的问题

问题 当父元素设置了flex: 1; 的情况下,想在其中子元素超出父元素高度的情况下,产生滚动条,在父元素区域滚动。由于子元素高度不固定,故父元素设置为display: flex; flex-direction: column; 子元素设置flex: 1; overflow: auto;…

@JsonIgnore的使用及相关问题的解决

目录 1 前言 2 对比及其使用方法 3 遇到的相关问题及解决方法 1 前言 在我们编写的后端项目中,有时候可能需要将某个实体类以JSON格式传送给前端,但是其中可能有部分内容我们并不想传送,这时候我们选择将这部分内容变成Null,这…

Windows登录了微软账号,共享/远程怎么输入密码都不对?看这篇能解决

前言 Windows自从登录了微软账号之后,感觉生活都美好了很多。毕竟同步书签,还有无缝衔接作业等操作都是比较舒服的。 但是对于喜欢远程桌面连接电脑进行操作或者共享文件夹给别的设备访问的小伙伴就有些烦恼了。 在本地账户使用的时候,密码输…

共享的IP隔一段时间就变?用这种方法可以不需要知道电脑IP

前言 一般来说,电脑接入路由器之后,IP是由路由器自动分配的(DHCP),但如果隔一段时间不开机连接路由器,或者更换了别的网卡进行连接,自动分配的IP就会更改。 比如你手机连接着电脑的共享IP:192.168.1.10,但过段时间之后,电脑的IP突然变成了192.168.1.11,那么你的所有…

线扫相机使用教程

一.线扫相机的采集原理 在现有的工业 2D 相机中,主要有两种类型的相机,面阵相机和线扫相机。这两种相机有其 各自的特点。 面阵相机:主要用于采集较小尺寸的产品,特别是长度方向较小的产品。其采集原理是通过 单次或多次曝光&…

Linux 驱动开发基础知识—— 具体单板的 LED 驱动程序(五)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…