#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“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地址,用户名和密码。
模块一 私有云(30分)
企业首先完成私有云平台搭建和运维,私有云平台提供云主机、云网络、云存储等基础架构云服务,并开发自动化运维程序。
任务**1** 私有云服务搭建(**5分)**
1.1.1 集群主机环境配置
1.控制节点主机名为controller,设置计算节点主机名为compute;
2.hosts文件将IP地址映射为主机名。
3.配置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 部署NFS应用服务
使用OpenStack私有云平台,创建一台云主机,安装NFS服务,然后对接Glance后端存储。
1.2.8 完成私有云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务3 私有云运维开发(10分)
1.3.1 OpenStack Python运维开发:实现Flavor管理编写Python代码,实现OpenStack Flavor增删查改。
1.3.2 编写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.1 管理Deployment资源
Kubernetes Python运维脚本开发:管理Deployment服务。
2.3.2 编写Kubernetes容器云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)
模块三 公有云(40分)
企业选择国内公有云提供商,选择云主机、云网络、云硬盘、云防火墙、负载均衡等服务,可创建Web服务,共享文件存储服务,数据库服务,数据库集群等服务。搭建基于云原生的DevOps相关服务,构建云、边、端一体化的边缘计算系统,并开发云应用程序。
根据上述公有云平台的特性,完成公有云中的各项运维工作。
任务**1** 公有云服务搭建(**5分)**
3.1.1 私有网络管理
在公有云中完成虚拟私有云网络的创建。
3.1.2 云实例管理
登录公有云平台,创建两台云实例虚拟机。
3.1.3 安全组管理
根据要求,创建一个安全组。
3.1.4 NAT网关
根据要求创建一个公网NAT网关。
任务2 公有云服务运维(10分)
3.2.1 管理数据库
使用intnetX-mysql网络创建两台chinaskill-sql-1和chinaskill-sql-2云服务器,并完成MongoDB安装。
3.2.2 主从数据库
在chinaskill-sql-1和chinaskill-sql-2云服务器中配置MongoDB主从数据库。
3.2.3 完成公有云上云及优化工作。(本任务只公布考试范围,不公布赛题)
任务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 云应用微服务开发。(本任务只公布考试范围,不公布赛题)