#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“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地址映射为主机名。
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 私有云服务运维(25分)
1.2.1 Glance开放镜像权限
将指定镜像在指定项目进行共享使用。
1.2.2 Glance 镜像转换
使用CentOS的镜像,将该镜像转换为RAW格式。
1.2.3 Glance镜像存储限制
使用自行搭建的OpenStack平台。请修改Glance后端配置文件,修改用户的镜像存储配额限制。
1.2.4 Nova清除缓存
在OpenStack平台上,修改相关配置,让长时间不用的镜像缓存在过一定的时间后会被自动删除。
1.2.5 使用Heat模板创建网络
在自行搭建的OpenStack私有云平台上,编写Heat模板文件,完成网络的创建。
1.2.6 Redis AOF调优
修改在Redis相关配置,避免AOF文件过大,Redis会进行AOF重写。
1.2.7 部署NFS应用服务
使用OpenStack私有云平台,创建一台云主机,安装NFS服务,然后对接Glance后端存储。
1.2.8 完成私有云平台的调优或排错工作。(本任务只公布考试范围,不公布赛题)
任务3 私有云运维开发(15分)
1.3.1 OpenStack Python运维开发:实现用户组管理
编写Python代码,实现OpenStack用户组增删查改
1.3.2 编写OpenStack云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)
模块二 容器云(50分)
企业构建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 容器云服务运维(30分)
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容器云平台自动化运维工具。(本任务只公布考试范围,不公布赛题)