2024 年广东省职业院校技能大赛(高职组)“云计算应用”赛项样题 3

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!  

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!

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

PC-2

本地连接

172.24.16.0/24

PC 使用

说明

  1. 竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,参赛选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题,2 名参赛选手的账号密码相同;
  2. 表中的x 为赛位号,在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
  3. 根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
  4. 考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
  5. 竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的IP 地址,用户名和密码。

模块一 私有云(50 分)

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

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

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 私有云服务运维(25 分)

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 私有云运维开发(15 分)

1.3.1 编写Shell 一键部署脚本

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

1.3.2 Ansible 部署FTP 服务

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

1.3.3 Ansible 部署Kafka 服务

编写Playbook,部署的ZooKeeper 和Kafka。

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

模块二 容器云(50 分)

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

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

2.1.1 部署容器云平台

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

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

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 容器云运维开发(15 分)

2.3.1 管理job 服务

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

2.3.2 自定义调度器

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

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

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

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

相关文章

江协科技STM32:TIM输出比较

输出比较模块的主要功能:输出一定频率和占空比的PWM波形 CC是捕获比较的意思,R是Register,寄存器的意思,CCR捕获比较寄存器它是输入捕获和输出比较共用的 当使用输入捕获,它就是捕获寄存器 当使用输出比较,它就是比…

蓝桥杯每日一题:斐波那契(矩阵乘法)

在斐波那契数列中,Fib00,Fib11,FibnFibn−1Fibn−2(n>1) 给定整数 n,求 Fibnmod10000。 输入格式 输入包含不超过 100100 组测试用例。 每个测试用例占一行,包含一个整数 当输入用例 n−1时,表示输入终止,且该…

自由定义表单table组件(antdesign版)

对表单自由排序&#xff0c;决定哪些列显示隐藏&#xff0c;能保存设置过的操作 效果图 使用页&#xff0c;操作列dataIndex要设置为action&#xff0c;forKey必需是唯一的 用的vue2版的antdesign vue写的样式&#xff0c;想用其它的ui框架可以自行修改样式 <customTable …

Brain.js 的力量:构建多样化的人工智能应用程序

机器学习&#xff08;ML&#xff09;是人工智能 (AI) 的一种形式&#xff0c;旨在构建可以从处理的数据中学习或使用数据更好地执行的系统。人工智能是模仿人类智能的系统或机器的总称。 机器学习&#xff08;ML&#xff09;与复杂的数学纠缠在一起&#xff0c;让大多数初学者…

解决nginx代理后,前端拿不到后端自定义的header

先说结论&#xff0c;因为前端和nginx对接&#xff0c;所以需要在nginx添加如下配置向前端暴露header add_header Access-Control-Expose-Headers Authorization 排查过程 1.后端设置了Authorization 的响应头作为token的返回&#xff0c;前后端本地联调没有问题 response.s…

嵌入式驱动学习第六周——内核函数调用(堆栈打印)

前言 在内核中&#xff0c;函数调用堆栈非常重要&#xff0c;因为它可以帮助开发人员理解代码是如何执行的&#xff0c;从而进行调试、性能优化或问题排查。堆栈可以显示当前执行的函数以及导致该函数调用的先前函数&#xff0c;从而形成一个函数调用链。本篇博客就介绍堆栈打印…

软件无线电原理

常规软件无线电接收器&#xff1a; 首先&#xff0c;来自天线的射频信号被放大&#xff0c;通常射频部分利用一个调谐器将感兴趣的频段区域的信号进行放大。这个放大的射频信号被送入一个混频器。来自本振的信号也被送入混频器&#xff0c;其频率由无线电的调谐控制决定。混频器…

【LeetCode】--- 动态规划 集训(二)

目录 一、63. 不同路径 II1.1 题目解析1.2 状态转移方程1.3 解题代码 二、931. 下降路径最小和2.1 题目解析2.2 状态转移方程2.3 解题代码三、174. 地下城游戏3.1 题目解析3.2 状态转移方程3.3 解题代码 一、63. 不同路径 II 题目地址&#xff1a; 不同路径 II 一个机器人位于…

传输层 --- TCP (下篇)

目录 1. 超时重传 1.1. 数据段丢包 1.2. 接收方发送的ACK丢包 1.3. 超时重传的超时时间如何设置 2. 流量控制 3. 滑动窗口 3.1. 初步理解滑动窗口 3.2. 滑动窗口的完善理解 3.3. 关于快重传的补充 3.4. 快重传和超时重传的区别 4. 拥塞控制 4.1. 拥塞控制的宏观认识…

「 典型安全漏洞系列 」11.身份验证漏洞详解

身份验证是验证用户或客户端身份的过程。网站可能会暴露给任何连接到互联网的人。这使得健壮的身份验证机制成为有效的网络安全不可或缺的一部分。 1. 什么是身份验证 身份验证即认证&#xff0c;是验证给定用户或客户端身份的过程。身份验证漏洞使攻击者能够访问敏感数据和功…

Linux网络基础 (三) —— Socket

文章目录 Socket 编程基本概念Socket背景Socket 为了解决什么问题 socketsockaddr结构sockaddrsockaddr_insockaddr 和 sockaddr_in 的关系sockaddr_un 示例代码 &#x1f396; 博主的CSDN主页&#xff1a;Ryan.Alaskan Malamute &#x1f4dc; 博主的代码仓库主页 [ Gitee ]&…

【MySQL】数据操作语句(DML)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习计网、mysql和算法 ✈️专栏&#xff1a;MySQL学习 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…

【论文通读】AgentStudio: A Toolkit for Building General Virtual Agents

AgentStudio: A Toolkit for Building General Virtual Agents 前言AbstractMotivationFramework评估GUI GroudingReal-World Cross-Application Benchmark Suite Conclusion 前言 来自昆仑万象的一篇智能体环境数据大一统框架工作&#xff0c;对未来计算机智能体的发展具有指…

FPGA常用IP核之FIFO学习

IP核是FPGA芯片公司提供的逻辑功能块&#xff0c;在FPGA芯片中可以进行优化和预先配置&#xff0c;可以直接在用户设计的程序中使用&#xff0c;应用范围很广。在FPGA设计开发过程中使用IP核&#xff0c;可以大大的缩短开发周期&#xff0c;高度优化的IP核可以使FPG开发工程师专…

前端三剑客 —— CSS (第六节)

目录 内容回顾&#xff1a; 弹性布局属性介绍 案例演示 商品案例 布局分析 登录案例 网格布局 内容回顾&#xff1a; 变量&#xff1a;定义变量使用 --名称&#xff1a;值&#xff1b; 使用变量&#xff1a; 属性名&#xff1a;var&#xff08;--名称&#xff09;&a…

虚拟主机、VPS主机和云服务器的区别

对于每个建站新手来说&#xff0c;首先要解决的就是服务器购买的问题&#xff0c;目前市面有很多类型的服务器&#xff0c;常见的有&#xff1a;阿里云、腾讯云、Vultr云服务器&#xff0c;也有RackNerd、Cloudways等提供的VPS&#xff0c;还有SiteGround、ChemiCloud 、 Hosti…

数据结构之堆底层实现的循序渐进

题外话 把没写的都补回来! 正题 堆 概念 堆是一棵完全二叉树&#xff0c;因此可以层序的规则采用顺序的方式来高效存储&#xff0c; 大根堆:指根结点比左右孩子都大的堆 小根堆:指根结点比左右孩子都小的堆 性质 1.堆中某个节点的值总是不大于或不小于其父节点的值 2…

鸿蒙OS元服务开发:【(Stage模型)设置应用主窗口】

一、设置应用主窗口说明 在Stage模型下&#xff0c;应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中&#xff0c;通过WindowStage获取应用主窗口&#xff0c;即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性&…

每日一题(leetcode1026):节点与其祖先的最大差值--dfs

考虑到只能计算祖先之间的节点差而不能计算兄弟之间的节点差&#xff0c;所以思考使用dfs来解决该题。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), ri…

嵌入式开发学习---(部分)数据结构(无代码)

数据结构 为什么学习数据结构&#xff1f; 1&#xff09;c语言告诉如何写程序&#xff0c;数据结构是如何简洁高效的写程序 2&#xff09;遇到一个实际问题&#xff0c;需要写程序去实现相应功能&#xff0c;需要解决那两个方面的问题&#xff1f; 如何表达数据之间的逻辑规律…