2024 年广西职业院校技能大赛高职组
《云计算应用》赛项赛题第 1 套
需要软件包环境以及资源可私信联系博主获取!
某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps 开发运维一体化”和“数据驱动产品开发”,拟采用开源 OpenStack 搭建企业内部私有云平台,开源
Kubernetes 搭建云原生服务平台,选择国内主流公有云平台服务基于数字化平台底座,面向业务开发边缘计算云应用产品。拟将该任务交给工程师A 与B,分工协助完成云平台服务部署云应用开发、云系统运维等任务,系统架构如图 1 所示,IP 地规划如表 所示。
图 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 使用 |
说明
- 竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,选手通过用户名与密码登录竞赛私有云平台,创建云主机进行相应答题,2 名参赛选手的账号密码相同;
- 表中的x 为赛位号,在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
- 根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
- 考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
- 竞赛过程中,为确保服务器的安全,请自行修改服务器密码; 在考试系统提交信息时,请确认自己的IP 地址,用户名和密码。
模块一 私有云(30 分)
企业首先完成私有云平台搭建和运维,私有云平台提供云主机、云网络、云存储等基础架构云服务,并开发自动化运维程序。
任务 1 私有云服务搭建(5 分)
任务 1 私有云服务搭建(5 分)
- 集群主机环境配置
- 控制节点主机名为 controller,设置计算节点主机名为compute;
- hosts 文件将IP 地址映射为主机名。
- 配置yum 源
- 基础软件包安装
- 在控制节点和计算节点上分别安装openstack-iaas 软件包。
- 数据库及消息服务安装与使用
- 在控制节点上使用安装Mariadb、RabbitMQ 等服务。并进行相关操作。
- Keystone 服务安装与使用
- 在控制节点上安装Keystone 服务并创建用户。
- Glance 安装与使用
- 在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
- Nova 安装
- 在控制节点和计算节点上分别安装Nova 服务。安装完成后, 完成Nova 相关配置。
- Neutron 安装
- 在控制和计算节点上正确安装Neutron 服务。
- Dashboard 安装
- 在控制节点上安装Dashboard 服务。安装完成后,将 Dashboard
- 中的 Django 数据修改为存储在文件中。
- Swift 安装
- 在控制节点和计算节点上分别安装Swift 服务。安装完成后, 将cirros 镜像进行分片存储。
- Cinder 创建硬盘
- 在控制节点和计算节点分别安装Cinder 服务,请在计算节点, 对块存储进行扩容操作。
任务 2 私有云服务运维(15 分)
- Linux 系统调优
修改controller 节点的配置文件,要求永久生效 swappiness
配置。
- Keystone 优化
请修改相关配置,增加Keystone 的失效列表缓存时间。
- Nova 调度器管理
在OpenStack 中,修改调度器规则为会将 VM 放置到load 最低的节点上的调度器。
- Nova 资源优化
编辑nova.conf 文件,配置内存预留量。
- Nova 优化数据库连接
修改nova 相关配置文件,修改连接池大小和最大允许超出的连接数。
- OpenStack 镜像压缩
在HTTP 文件服务器中存在一个镜像为CentOS 的镜像,请对该镜像进行压缩操作。
- Glance 调优
在OpenStack 平台中,修改相关配置文件,修改子进程数量的配置。
- Ceph 云存储系统部署
使用提供的软件包,安装ceph 服务并完成初始化操作。
- Minio 文件系统服务部署
使用提供的OpenStack 云平台,申请一台云主机,使用提供的软件包安装部署MINIO 服务并使用systemctl 管理。
- 完成私有云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务 3 私有云运维开发(10 分)
- Ansible 部署zabbix 服务
编写Ansible 脚本,部署zabbix 服务。
- OpenStack Python 运维开发:实现网络创建编写Python 代码,创建OpenStack 网络
- 编写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 分)
- 容器化部署Koko SSH Server 环境
编写Dockerfile 文件构建koko 镜像,要求基于centos 完成Koko 服务的安装和配置;(并设置服务开机自启。
- 容器化部署Guacamole 远程桌面网关
编写Dockerfile 文件构建guacamole 镜像,要求基于 centos
完成Guacamole 服务的安装和配置,并设置服务开机自启。
- 容器化部署MariaDB 数据库
编写Dockerfile 文件构建镜像,要求基于 centos 完成数据库的安装和配置,并设置服务开机自启。
- 容器化部署Core 核心组件
编写Dockerfile 文件构建core 镜像,要求基于centos 完成
Python 环境的安装与配置, 并设置服务开机自启。
- 编排部署JumpServer 堡垒机
编写 docker-compose.yaml 文件, 要求使用镜像 mysql、redis、core、koko、guacamole 和nginx 完成JumpServer 堡垒机的编排部署。
- 部署Jenkins
在default 命名空间下完成Jenkins 的部署,配置 Jenkins 的持久化存储,完成离线插件的安装,并设置登录信息。
- 配置Jenkins Slave
在Jenkins 中添加Kubernetes 云,并完成容器模板、Pod 模板和标签的配置。
- 部署GitLab
将GitLab 部署到default 命名空间下,部署完成后新建公开项目,并将提供的代码上传到该项目。
- 在Kubernetes 集群default 命名空间下完成RabbitMQ 和Nacos 环境的部署,并完成Nacos 服务的配置管理。
- 构建CI/CD
在Jenkins 中新建流水线任务,在GitLab 项目中编写声明式Pipeline,触发项目构建,要求完成项目代码的编译,然后构建Docker 镜像并推送到Harbor 仓库,并基于新构建的镜像将服务自动发布到Kubernetes 集群中。
- 服务网格:Sidecar 管理
在default 命名空间下部署Bookinfo 应用。创建 exam 命名空间,并声明一个 Sidecar 配置,允许向指定命名空间的公共服务输出流量。为所有指定标签的 Pod 声明一个Sidecar 配置,接收和转发指定的流量。
- KubeVirt 运维:创建VM
使用云端镜像在default命名空间下创建一台VM,名称为exam,指定VM 的内存、CPU、运行策略、启动参数等配置。
- 完成容器云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务 3 容器云运维开发(10 分)
- 管理Deployment 服务
Kubernetes Python 运维脚本开发- 使用 SDK 方式管理
Deployment 服务。
- 自定义调度器
Kubernetes Python 运维脚本开发-使用Restful API 方式管理调度器。
- 编写Kubernetes 容器云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)
模块三 公有云(40 分)
企业选择国内公有云提供商,选择云主机、云网络、云硬盘、云防火墙、负载均衡等服务,可创建 Web 服务,共享文件存储服务, 数据库服务,数据库集群等服务。搭建基于云原生的DevOps 相关服务,构建云、边、端一体化的边缘计算系统,并开发云应用程序。
根据上述公有云平台的特性,完成公有云中的各项运维工作。
任务 1 公有云服务搭建(5 分)
- 私有网络管理
在公有云中完成虚拟私有云网络的创建。
- 云实例管理
登录公有云平台,创建两台云实例虚拟机。
- 管理数据库
使用 intnetX-mysql 网络创建两台 chinaskill-sql-1 和
chinaskill-sql-2 云服务器,并完成MongoDB 安装。
- 主从数据库
在chinaskill-sql-1 和chinaskill-sql-2 云服务器中配置
MongoDB 主从数据库。
- 安全组管理
根据要求,创建一个安全组。
- NAT 网关
根据要求创建一个公网NAT 网关。
- 云服务器备份
创建一个云服务器备份存储库名为 server_backup 。将
ChinaSkill-node-1 云服务器制作镜像文件chinaskill-image。
- 负载均衡器
根据要求创建一个负载均衡器chinaskill-elb。
- 弹性伸缩管理
根据要求新建一个弹性伸缩启动配置。
任务 2 公有云服务运维(10 分)
- 云容器引擎
在公有云上,按照要求创建一个x86 架构的容器云集群。
- 云容器管理
使用插件管理在kcloud 容器集群中安装Dashboard 可视化监控界面。
- 使用kubectl 操作集群
在kcloud 集群中安装kubectl 命令,使用kubectl 命令管理
kcloud 集群。
- 云硬盘存储卷
根据要求购买云硬盘存储卷。
- 生命周期管理-配置Pod 生命周期
登录 kcloud 集群节点,在 default 命名空间下创建一个名
Pod,并进行Pod 生命周期管理。
- HPA 管理—创建HPA 规则在kcloud 集群节点/root 目录下编写YAML 文件hpa.yaml,完成HPA 管理。
任务 3 公有云运维开发(10 分)
- 云主机管理
调用SDK 云主机管理的方法,实现云主机的的增删查改。
- 云主机组管理
调用SDK 云主机组管理的方法,实现云主机组的的增删查改。
- 弹性伸缩组管理
编写Python 代码,调用弹性伸缩组API,创建弹性伸缩组。
- 完成公有云平台自动化运维程序开发。(本任务只公布考试范围,不公布赛题)
任务 4 边缘计算系统运维(10 分)
- 云端部署
构建Kubernetes 容器云平台,云端部署 KubeEdge CloudCore云测模块,并启动cloudcore 服务。
- 边端部署
在边侧部署KubeEdge EdgeCore 边侧模块,并启动edgecore服务。
- 边缘应用部署
通过边缘计算平台完成应用场景镜像部署与调试。(本任务只公布考试范围,不公布赛题)
任务 5 边缘计算云应用开发(5 分)
3.5.1 云应用微服务开发。(本任务只公布考试范围,不公布赛题)