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

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

在自行搭建的OpenStack私有云平台或赛项提供的all-in-one平台上,修改相关配置文件,启用-device virtio-net-pci in kvm,

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

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

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

1.2.2      Nova调优

安装nova完成后,修改相关配置文件将实例等待事件的最大时间调整为600。

1.2.3      Nova调度器管理

在OpenStack中,修改调度器规则为会将VM放置到load最低的节点上的调度器。

1.2.4      Linux系统调优-swap限制

修改controller节点的配置文件,要求永久生效swappiness为20。

1.2.5      OpenStack镜像压缩

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

1.2.6      Ceph部署

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

1.2.7      Minio服务搭建

使用提供的OpenStack云平台,申请一台云主机,使用提供的软件包安装部署MINIO服务并使用systemctl管理。

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脚本备份数据库

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

1.3.2      Ansible部署zabbix服务

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

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

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

2.2.2      容器化部署Guacamole

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

2.2.3      容器化部署MariaDB

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

2.2.4      容器化部署Core

编写Dockerfile文件构建core镜像,要求基于centos完成Python环境的安装与配置,

并设置服务开机自启。

2.2.5      编排部署JumpServer堡垒机

编写docker-compose.yaml文件,要求使用镜像mysql、redis、core、koko、guacamole和nginx完成JumpServer堡垒机的编排部署。

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    服务网格:Sidecar管理

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

2.2.12    KubeVirt运维:创建VM

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

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

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

2.3.1      管理Deployment服务

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

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      HPA管理—创建HPA规则

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

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

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

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

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

相关文章

【Linux C | I/O模型】IO复用 | select、pselect函数详解(看完就会用了)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

天梯算法Day1整理

Nanami and Arithmetic Sequence 题面 思路 炸鱼题 只有n1的时候&#xff0c;只有一个等差数列&#xff1b; 其余时候&#xff0c;都是都有无数个等差数列。 代码 #include <iostream> using namespace std;int main() {int t, n;cin >> t;while (t--) {cin…

【计算机网络】深入掌握计算机网络的核心要点

写在前面 前言四层模型网络地址管理Linux下设置ipARP请求包总结 前言 计算机网络是指将分散的计算机设备通过通信线路连接起来&#xff0c;形成一个统一的网络。为了使得各个计算机之间能够相互通信&#xff0c;需要遵循一定的协议和规范。OSI参考模型和TCP/IP参考模型是计算机…

JavaScript高级:异常和debugger调试

1 抛出异常 function fn(x, y) {if (!x || !y) {throw new Error(参数不能为空&#xff01;) // 会终止程序}return x y}console.log(fn()) 2 捕获异常 try...catch 捕获异常 try {// 可能抛出异常的代码const p document.querySelector(.p)p.style.color red} catch (err)…

通用CI/CD软件平台TeamCity全新发布v2023.11——增强Git托管平台的集成

TeamCity是一个通用的 CI/CD 软件平台&#xff0c;可以实现灵活的工作流、协作和开发做法。我们的解决方案将帮助在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 TeamCity 2023.11正式版下载 TeamCity 2023.11 带来了矩阵构建和构建缓存等多项备受期待的功能&a…

DolphinScheduler数仓任务管理规范

目录 一、DolphinScheduler调度数仓任务现状分析 2.1 一个任务流构建数仓所有的逻辑节点 2.2 每个逻辑节点构建一个任务流 二、数仓任务管理调度需求分析 三、DolphinScheduler数仓开发任务管理规范 四、结语 前言&#xff1a;大数据领域对多种任务都有调度需求&#xff…

Asp .Net Core 系列:Asp .Net Core 配置 System.Text.Json

文章目录 简介Asp .Net Core 如何配置 System.Text.Json所有配置全局配置 对比 Newtonsoft.Json无实体类型下操作 Json自定义转换器处理 Dynamic 类型封装常用配置封装 JsonHelper 帮助类 简介 System.Text.Json 命名空间提供用于序列化和反序列化 JavaScript 对象表示法 (JSO…

JavaScript高级:深浅拷贝

目录 1 引言 2 浅拷贝 2.1 拷贝数组 1.2 拷贝对象 3 赋值操作和浅拷贝的比较 4 深拷贝 4.1 前置知识 --> 递归函数 4.2 使用递归实现深拷贝 4.3 js库中的lodash里面的cloneDeep内部实现深拷贝 4.4 利用JSON实现深拷贝 深浅拷贝只针对引用数据类型 1 引言 假如我们…

如何在Windows系统使用Plex部署影音服务与公网访问本地资源【内网穿透】

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通…

人工智能时代:AI提示工程的奥秘 —— 驾驭大语言模型的秘密武器

文章目录 一、引言二、提示工程与大语言模型三、大语言模型的应用实践四、策略与技巧五、结语《AI提示工程实战&#xff1a;从零开始利用提示工程学习应用大语言模型》亮点内容简介作者简介目录获取方式 一、引言 随着人工智能技术的飞速发展&#xff0c;大语言模型作为一种新…

【QT+QGIS跨平台编译】之十九:【libxml2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、libxml2介绍二、文件下载3、文件分析4、pro文件五、编译实践一、libxml2介绍 libxml2是一个功能强大的开源XML解析库,它提供了一组丰富的API和工具,用于解析、创建和操作XML文档。libxml2是一款跨平台的库,支持多种操作系统和编程语言。 以下是libxml2库的一…

如何发布自己的npm包:

1.创建一个打包组件或者库&#xff1a; 安装weback&#xff1a; 打开项目&#xff1a; 创建webpack.config.js,创建src目录 打包好了后发现两个js文件都被压缩了&#xff0c;我们想开发使用未压缩&#xff0c;生产使用压缩文件。 erserPlugin&#xff1a;&#xff08;推荐使用…

UAD155A0111 3BHE029110R0111

UAD155A0111 3BHE029110R0111 UAD155A0111 3BHE029110R0111 UAD155A0111 3BHE029110R0111如何通过CDMA模块实现车载终端数据通信 ... 包括单片机(rabbit2000)、GPS模块、CDMA 手机模块、GSM手机模块、铁电存储器、 ... 提取经纬度信息&#xff0c;通过GSM和 CDMA 模块分别采…

深入理解排序算法及其Java实现

深入理解排序算法及其Java实现 I. 引言 在计算机科学领域中&#xff0c;排序算法是一项至关重要的技术。无论是在数据处理、数据库查询还是搜索算法中&#xff0c;排序都扮演着关键的角色。本博客将深入讨论排序算法的不同类型&#xff0c;探究其在Java编程语言中的实现&…

React16源码: React中处理ref的核心流程源码实现

ref的实现过程 1 &#xff09;概述 在更新流程当中如何去设置ref上面的对象的过程在我们创建fiber的时候去处理ref这个属性那我们什么时候创建fiber对象? 就是我们去更新某一个节点&#xff0c;然后要去调和它的子节点的时候这个时候我们会对每一个子节点去创建这个fiber对象…

YIA主题如何关闭新版本升级提示?WordPress主题怎么取消升级提醒?

前两天YIA主题发布了升级到2.8版本&#xff0c;新增了一些功能&#xff0c;优化调整修复了一些功能&#xff0c;但是这些功能调整幅度不大&#xff0c;加上boke112百科使用的YIA主题已经进行了很多方面的个性化修改&#xff0c;所以就懒得升级了&#xff0c;但是每次进入WordPr…

Spring的事件监听机制

这里写自定义目录标题 1. 概述&#xff08;重点&#xff09;2. ApplicationEventMulticaster2.1 SimpleApplicationEventMulticaster2.2 AbstractApplicationEventMulticaster 3. ApplicationListener3.1 注册监听器3.2 自定义 4. SpringApplicationRunListeners 1. 概述&#…

SpringBoot使用Guava实现日志脱敏(含源码)

点击下载《SpringBoot使用Guava实现日志脱敏&#xff08;含源码&#xff09;》 1. 摘要 本文将介绍如何使用Google Guava库进行日志脱敏&#xff0c;保护敏感数据的安全。我们将详细解释脱敏的必要性&#xff0c;然后介绍如何使用Guava中的Strings、Maps和CharMatcher类来进行…

JS面试题:说一下js的模块化?

作用&#xff1a; 一个模块就是实现某个特定功能的文件&#xff0c;在文件中定义的变量、函数、类都是私有的&#xff0c;对其他文件不可见。 为了解决引入多个js文件时&#xff0c;出现 命名冲突、污染作用域 等问题 AMD&#xff1a; 浏览器端模块解决方案 AMD即是“异步模块定…

12.1 Web开发_DOMBOM:JS关联CSS(❤❤)

12.1 Web开发_DOM&BOM 1. DOM&BOM2. DOM:文档对象模型2.1 获取页面元素1. getElementById2. getElementsByClassName3. querySelector3. 事件3.1 事件三要素3.2 绑定事件的三种方式1. 标签on2. 对象.on事件3. addEventListener3.3 常用事件