#需要资源(软件包及镜像)或有问题的,可私博主!!!
#需要资源(软件包及镜像)或有问题的,可私博主!!!
#需要资源(软件包及镜像)或有问题的,可私博主!!!
某企业根据自身业务需求,实施数字化转型,规划和建设数字 化平台,平台聚焦“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 使用 |
说明
- 竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,选手通过用户名与密码登录竞赛私有云平台,创建云主机进行相应答题,2 名参赛选手的账号密码相同;
- 表中的x 为赛位号,在进行OpenStack 搭建时的第二块网卡地址根据题意自行创建;
- 根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
- 考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
- 竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的IP 地址,用户名和密码。
模块一 私有云(30 分)
企业首先完成私有云平台搭建和运维,私有云平台提供云主机、云网络、云存储等基础架构云服务,并开发自动化运维程序。
任务 1 私有云服务搭建(5 分)
1.1.1 集群主机环境配置
-
控制节点主机名为 controller,设置计算节点主机名为 compute;
-
hosts 文件将IP 地址映射为主机名。
-
配置yum 源
1.1.2 基础软件包安装
在控制节点和计算节点上分别安装openstack-iaas 软件包。
1.1.3 数据库及消息服务安装与使用
在控制节点上使用安装Mariadb、RabbitMQ 等服务。并进行相关操作。
1.1.4 Keystone 服务安装与使用
在控制节点上安装Keystone 服务并创建用户。
1.1.5 Glance 安装与使用
在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
1.1.6 Nova 安装
在控制节点和计算节点上分别安装Nova 服务。安装完成后,完成Nova 相关配置。
1.1.7 Neutron 安装
在控制和计算节点上正确安装Neutron 服务。
1.1.8 Dashboard 安装
在控制节点上安装Dashboard 服务。安装完成后,将 Dashboard中的 Django 数据修改为存储在文件中。
1.1.9 Swift 安装
在控制节点和计算节点上分别安装Swift 服务。安装完成后,将cirros 镜像进行分片存储。
1.1.10 Cinder 创建硬盘
在控制节点和计算节点分别安装Cinder 服务,请在计算节点,对块存储进行扩容操作。
任务 2 私有云服务运维(15 分)
1.2.1 Raid 磁盘阵列管理
在云主机上对云硬盘进行操作,先进行分区,然后创建名为/dev/md5、raid 级别为 5 的磁盘阵列加一个热备盘。
1.2.2 消息队列调优
在OpenStack 私有云平台,分别通过用户级别、系统级别、配置文件来设置RabbitMQ 服务的最大连接数。
1.2.3 Keystone 优化
请修改相关配置,增加Keystone 的失效列表缓存时间。
1.2.4 Glance 镜像压缩
在HTTP 文件服务器中存在一个镜像为CentOS 的镜像,请对该镜像进行压缩操作。
1.2.5 虚拟机调整Flavor
使用OpenStack 私有云平台,请修改相应配置,实现云主机调整实例大小可以使用。
1.2.6 Nova 数据库连接调优
修改nova 相关配置文件,修改连接池大小和最大允许超出的连接数。
1.2.7 使用Heat 模板创建网络
在自行搭建的OpenStack 私有云平台上,编写Heat 模板文件,完成网络的创建。
1.2.8 Redis 应用部署
使用赛项提供的OpenStack 私有云平台,创建两台云主机,配置为redis 的主从架构。
1.2.9 Ceph 应用部署
使用提供的软件包,安装ceph 服务并完成初始化操作。
1.2.10 完成私有云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务 3 私有云运维开发(10 分)
1.3.1 Ansible 部署zabbix 服务
编写Ansible 脚本,部署zabbix 监控服务。
1.3.2 OpenStack Python 运维开发:实现Flavor 管理编写Python 代码,实现OpenStack Flavor 增删查改。
1.3.3 编写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 Web 服务器
编写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 环境
新建命名空间kube-ops,将 GitLab 部署到该命名空间下,然后完成GitLab 服务的配置。
2.2.7 部署GitLab Runner
将GitLab Runner部署到kube-ops命名空间下,并完成GitLab Runner 在GitLab 中的注册。
2.2.8 配置GitLab
在 GitLab 中新建公开项目并导入离线项目包, 然后将Kubernetes 集群添加到GitLab 中。
2.2.9 构建CI/CD
在项目中编写流水线脚本,然后触发自动构建,要求完成构建代码、构建镜像、推送镜像Harbor、并发布服务到Kubernetes 集群。
2.2.10 服务网格:路由管理
将Bookinfo 应用部署到default 命名空间下,应用默认请求路由,将所有流量路由到各个微服务的v1 版本。然后更改请求路由reviews,将指定比例的流量从reviews 的v1 转移到v3。
2.2.11 KubeVirt 运维:VMI 管理
将提供的镜像在default 命名空间下创建一台VMI,名称为 exam,使用Service 对外暴露VMI。
2.2.12 完成容器云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务 3 容器云运维开发(10 分)
2.3.2 管理Deployment 资源
Kubernetes Python 运维脚本开发:管理Deployment 服务。
2.3.1 管理Service 资源
Kubernetes Python 运维脚本开发:管理Service 服务。
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 安全组管理
根据要求,创建一个安全组。
3.1.6 NAT 网关
根据要求创建一个公网NAT 网关。
3.1.7 云服务器备份
创建一个云服务器备份存储库名为 server_backup 。将ChinaSkill-node-1 云服务器制作镜像文件chinaskill-image。
3.1.8 负载均衡器
根据要求创建一个负载均衡器chinaskill-elb。
3.1.9 弹性伸缩管理
根据要求新建一个弹性伸缩启动配置。
任务 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 命名空间中使用chartmuseum:latest 镜像创建本地私有chart 仓库。
3.2.6 WordPress 应用部署
根据提供的chart 包wordpress-13.0.23.tgz 部署WordPress服务。
任务 3 公有云运维开发(10 分)
3.3.1 云主机管理
调用SDK 云主机管理的方法,实现云主机的的增删查改。
3.3.2 云主机组管理
调用SDK 云主机组管理的方法,实现云主机组的的增删查改。
3.3.3 弹性伸缩组管理
编写Python 代码,调用弹性伸缩组API,创建弹性伸缩组。
3.3.4 完成公有云平台自动化运维程序开发。(本任务只公布考试范围,不公布赛题)
任务 4 边缘计算系统运维(10 分)
3.4.1 云端部署
构建Kubernetes 容器云平台,云端部署 KubeEdge CloudCore云测模块,并启动cloudcore 服务。
3.4.2 边端部署
在边侧部署KubeEdge EdgeCore 边侧模块,并启动edgecore服务。
3.4.3 边缘应用部署
通过边缘计算平台完成应用场景镜像部署与调试。(本任务只公布考试范围,不公布赛题)
任务 5 边缘计算云应用开发(5 分)
3.5.1 云应用微服务开发。(本任务只公布考试范围,不公布赛题)