说明
1.竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,参赛选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题,2 名参赛选手的账号密码相同;
2.表中的x 为赛位号,在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
3.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
4.考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
5.竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的IP 地址,用户名和密码。
模块一 私有云(50 分)
企业首先完成私有云平台搭建和运维,私有云平台提供云主机、云网络、云存储等基础架构云服务,并开发自动化运维程序。
任务 1 私有云服务搭建(10 分)
1.1.1基础环境配置
1.控制节点主机名为controller,设置计算节点主机名为compute;
2.hosts 文件将IP 地址映射为主机名。
1.1.2yum 源配置使用提供的http 服务地址,分别设置 controller 节点和compute 节点的yum 源文件http.repo。
1.1.3配置无秘钥ssh配置controller 节点可以无秘钥访问compute 节点。
1.1.4基础安装在控制节点和计算节点上分别安装openstack-iaas 软件包。
1.1.5数据库安装与调优在控制节点上使用安装Mariadb、RabbitMQ 等服务。并进行相关操作。
1.1.6Keystone 服务安装与使用在控制节点上安装Keystone 服务并创建用户。
1.1.7Glance 安装与使用在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
1.1.8Nova 安装在控制节点和计算节点上分别安装Nova 服务。安装完成后,完成Nova 相关配置。
1.1.9Neutron 安装在控制和计算节点上正确安装Neutron 服务。
1.1.10Dashboard 安装在控制节点上安装Dashboard 服务。安装完成后,将Dashboard 中的 Django 数据修改为存储在文件中。
1.1.11Swift 安装在控制节点和计算节点上分别安装Swift 服务。安装完成后,将cirros 镜像进行分片存储。
1.1.12Cinder 创建硬盘在控制节点和计算节点分别安装 Cinder 服务,请在计算节点,对块存储进行扩容操作。
1.1.13Linux 系统调优-脏数据回写Linux 系统内存中会存在脏数据,一般系统默认脏数据 30 秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为 60 秒。
任务 2 私有云服务运维(25 分)
1.2.1OpenStack 开放镜像权限在admin 项目中存在glance-cirros 镜像文件,将glance-cirros 镜像指定demo 项目进行共享使用。
1.2.2使用Heat 模板创建网络在自行搭建的OpenStack 私有云平台上,编写 Heat 模板文件,完成网络的创建。
1.2.3镜像转换使用CentOS7.5-compress.qcow2 的镜像,将该镜像转换为RAW 格式。
1.2.4NFS 对接Glance 后端存储使用OpenStack 私有云平台,创建一台云主机,安装 NFS 服务,然后对接 Glance后端存储。
1.2.5Glance 镜像存储限制使用自行搭建的OpenStack 平台。请修改Glance 后端配置文件,将用户的镜像存储配额限制为 20GB。
1.2.6Nova 清除缓存在OpenStack 平台上,修改相关配置,让长时间不用的镜像缓存在过一定的时间后会被自动删除。
1.2.7Redis 集群部署。部署Redis 集群,Redis 的一主二从三哨兵架构。
1.2.8Redis 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.2Ansible 部署FTP 服务编写Ansible 脚本,部署FTP 服务。
1.3.3Ansible 部署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 集群中。