#需要资源或有问题的,可私博主!!!
#需要资源或有问题的,可私博主!!!
#需要资源或有问题的,可私博主!!!
某企业拟使用 OpenStack 搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等 管理。
系统架构如图 1 所示,IP 地址规划如表 1 所示。
图 1 系统架构图表 1 IP 地址规划
表 1 IP 地址规划
设备名称 | 主机名 | 接口 | IP 地址 | 说明 |
云服务器 1 | Controller | eth0 | 192.168.x.10/24 | Vlan x |
eth1 | 192.168.y.10/24 | Vlan y | ||
云服务器 2 | Compute | eth0 | 192.168.x.20/24 | Vlan x |
eth1 | 192.168.y.20/24 | Vlan y | ||
PC-1 | 本地连接 | 172.24.z.2/24 | Vlan 1 | |
交换机 | Vlan 1 | 172.24.z.1/24 | PC 机使用 | |
Vlan 10 | 192.168.x.1/24 | 服务器使用 | ||
Vlan 20 | 192.168.y.1/24 | 虚拟机使用 |
说明:
- 表中的 x,y 为 vlan 号,每人有两个 vlan 号;z 为工位号;
- 根据图表给出信息,检查硬件连线及网络设备配置, 确保网络连接正常;
- 考试所需要的资源包与附件均在考位信息表中给出;
- 竞赛过程中,为确保服务器的安全,请自行修改服务 器密码;在考试系统提交信息时,请确认自己的 IP 地址,用户名和密码。
【任务 1】基础运维任务[5 分]
【适用平台】私有云
【题目 1】基础环境配置
根据表 1 中的 IP 地址规划,设置各服务器节点的 IP 地址,确保网络正常通信,然后按以下要求配置服务器:
(1) 设置控制节点主机名为 controller,设置计算节点主机名为compute;
(2) 修改 hosts 文件将 IP 地址映射为主机名;
(3) 关闭控制节点的防火墙,设置开机不启动;
(4) 设置 SELinux 为 Permissive 模式。
完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 2】镜像挂载
将提供的 CentOS-7-x86_64-DVD-1804.iso 和chinaskill_cloud_iaas.iso 光盘镜像上传到 controller 节点/root 目录下,然后在/opt 目录下分别创建 centos 目录和openstack 目录,并将镜像文件 CentOS-7-x86_64-DVD- 1804.iso 挂载到 centos 目录下,将镜像文件chinaskill_cloud_iaas.iso 挂载到 openstack 目录下。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 3】Yum 源配置
在 controller 节点上利用/opt/centos 目录中的软件包安装 vsftpd 服务,设置开机自启动,并使用 ftp 提供 yum 仓库服务(ftp 共享的目录为/opt),分别设置 controller 节点和compute 节点的 yum 源文件 ftp.repo,其中ftp 服务器地址使用主机名形式。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 4】时间同步配置
在 controller 节点上部署 chrony 服务器,允许其他节点同步时间,启动服务并设置为开机启动;在 compute 节点上指定 controller 节点为上游NTP 服务器,重启服务并设为开机启动。完成后提交控制节点用户名、密码、IP 地址到答题框。
【题目 5】计算节点分区
在 compute 节点上利用空白分区划分 2 个 100G 分区。完成后提交计算节点的用户名、密码和 IP 地址到答题框。
【任务 2】OpenStack 搭建任务[15 分]
【适用平台】私有云
【题目 1】基础安装
在控制节点和计算节点上分别安装 iaas-xiandian 软件 包,根据表 2 配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/xiandian/openrc.sh)。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
服务名称 | 变量 | 参数/密码 |
Mysql | root | 000000 |
Keystone | 000000 | |
Glance | 000000 | |
Nova | 000000 | |
Neutron | 000000 | |
Heat | 000000 | |
Zun | 000000 | |
Keystone | DOMAIN_NAME | demo |
Admin | 000000 | |
Rabbit | 000000 | |
Glance | 000000 | |
Nova | 000000 | |
Neutron | 000000 | |
Heat | 000000 | |
Zun | 000000 | |
Neutron | Metadata | 000000 |
External Network | enp9s0(外网卡名) |
【题目 2】数据库安装
在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、etcd 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 3】Keystone 服务安装
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 4】Glance 安装
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 5】Nova 安装
在 controller 节点和 compute 节点上分别使用 iaas- install-nova -controller.sh 脚本、iaas-install-nova- compute.sh 脚本安装 Nova 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 6】Neutron 安装
在 controller 节点和 compute 节点上分别修改 iaas- install-neutron-controller.sh 脚本、iaas-install- neutron-compute.sh 脚本分别安装 Neutron 服务,执行完脚本后,网络默认是 vlan 模式。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 7】Doshboard 安装
在 controller 节点上使用 iaas-install-dashboad.sh 脚本安装 dashboad 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 8】Cinder 安装
在控制节点和计算节点上分别使用 iaas-install-cinder- controller.sh.sh 脚本和 iaas-install-cinder-compute.sh 安装 cinder 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【任务 3】OpenStack 运维任务[15 分]
【适用平台】私有云
【题目 1】镜像管理
在 openstack 私有云平台上,基于 cirros-0.3.4-x86_64- disk.img 镜像,使用命令创建一个名为 cirros 的镜像。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 2】实例类型管理
在 openstack 私有云平台上,使用命令创建一个名为Fmin,ID 为 1,内存为 1024 MB,磁盘为 10 GB,vcpu 数量为1 的云主机类型。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 3】网络管理
在 openstack 私有云平台上,创建云主机网络 extnet,子网 extsubnet,虚拟机网段为 192.168.y.0/24(其中 y 是vlan 号),网关为 192.168.y.1。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 4】云主机管理
在 openstack 私有云平台上,基于“cirros”镜像、 flavor 使用“Fmin”、extnet 的网络,创建一台虚拟机 VM1, 启动 VM1,并使用 PC 机能远程登录到 VM1。提交控制节点的用户名、密码和 IP 地址到答题框。
【题目 5】Cinder 管理
在 openstack 私有云平台上,创建一个名为“lvm”的卷类型,创建一块卷设备,名字为 block、类型为 lvm 的 40G 云硬盘,并附加到虚拟机 VM1 上。完成后提交控制节点 IP 地址、用户名和密码到答题框。
【题目 6】Raid 管理
在 OpenStack 私有云平台,创建一台云主机,并创建一个40G 大小的cinder 块存储,将块存储连接到云主机,然后在云主机上对云硬盘进行操作。要求分出 4 个大小为 5G 的分区, 使用这 4 个分区,创建名为/dev/md5、raid 级别为 5 的磁盘阵列加一个热备盘(使用最后一个分区作为热备盘)。完成后提交云主机的用户名、密码和 IP 地址到答题框。
【题目 7】数据库主从管理
使用 OpenStack 私有云平台,创建两台云主机 vm1 和 vm2,在这两台云主机上分别安装数据库服务,并配置成主从数据库,vm1 节点为主库,vm2 节点为从库(数据库密码设置为 000000)。完成后提交数据库从节点 vm2 节点的用户名、密码和 IP 地址到答题框。
【题目 8】云平台安全策略提升
使用 OpenStack 私有云平台,通过提供的相关软件包,安装必要组件,将私有云平台的访问策略从 http 提升至 https。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
【任务 4】OpenStack 运维开发任务[15 分]
【适用平台】私有云
本任务只公布考试范围,不公布赛题
此任务包含 2-4 个子任务,内容涉及编写 Python 脚本调用 OpenStack API 对 Openstack 云平台进行管理和运维。使用
自动化运维工具 ansible 对云主机进行批量系统配置、批量程序部署、批量运行命令等运维操作。
【任务 5】Docker CE 及私有仓库安装任务(5 分)
【适用平台】私有云
【题目 1】安装 Docker CE 和 Docker Compose
在 master、node 各节点中分别安装 DockerCE 和 docker- compose。完成后提交 master 节点的用户名、密码和 IP 到答题框。
【题目 2】安装私有仓库
在 master 节点安装私有仓库,导入/opt/images 目录下所有镜像,并推送到私有仓库。完成后提交 master 节点的用户名、密码和 IP 到答题框。
【题目 3】容器编排
在 master 节点上编写/root/wordpress/docker- compose.yaml 文件,具体要求如下:
(1) 容器名称:wordpress;镜像:wordpress:latest; 端口映射:82:80;
(2) 容器名称:mysql;镜像:mysql:5.6;
(3) MySQL root 用户密码:123456;
(4) 创建数据库 wordpress。
完成后编排部署 WordPress,并提交 master 节点的用户名、密码和 IP 到答题框。
【题目 4】容器基础操作
在 master 节点上停止并删除上述部署的 wordpress 容器。完成后提交 master 节点的用户名、密码和 IP 到答题框。
【任务 6】基于 Docker 容器的 web 应用系统部署[15 分]
将该公司开发的基于微服务架构的 web 商城应用系统实现全容器化部署。商城应用系统架构图如下:
图 2 应用系统架构图
表 2 Docker 容器信息表
模块 | 使用技术 | 备注 |
gpmall.sql | Mysql | 网站的数据库 |
dist 目录 | Nginx | 网站的前端项目 |
gpmall-shopping | web 项目 | 8081 端口,商品/购物车/首页渲染等交互 |
gpmall-user | 8082 端口,提供用户相关的交互,如登 录、注册、个人中心等 | |
user-provider | 后端服务 | 提供用户相关服务 |
shopping-provider | 提供购物车、推荐商品、商品等服务 |
【适用平台】私有云
【题目 1】容器化部署 Redis
在 master 节点上编写/root/redis/Dockerfile 文件,基于提供的软件包 gpmall-single.tar 构建chinaskill- redis:v1.1 镜像,具体要求如下:
(1) 基础镜像:centos:centos7.5.1804;
(2) 作者:Chinaskill;
(3) 修改配置文件中的 bind 127.0.0.1 为 bind 0.0.0.0;
(4) 设置 Redis 免密,并关闭保护模式;
(5)开放端口:6379;
(6)设置服务开机自启。
完成后构建镜像,并提交 master 节点的用户名、密码和IP 到答题框。
【题目 2】容器化部署 MariaDB
在 master 节点上编写/root/mariadb/Dockerfile 文件, 基于提供的软件包 gpmall-single.tar 构建chinaskill- mariadb:v1.1 镜像,具体要求如下:
(1) 基础镜像:centos:centos7.5.1804;
(2) 作者:Chinaskill;
(3)设置数据库密码:123456;
(4) 创建数据库 gpmall 并导入数据库文件 gpmall.sql;
(5) 设置字符编码:UTF-8;
(6)开放端口:3306;
(7)设置服务开机自启。
完成后构建镜像,并提交 master 节点的用户名、密码和IP 到答题框。
【题目 3】容器化部署 Zookeeper
在 master 节点上编写/root/zookeeper/Dockerfile 文 件,基于提供的软件包 gpmall-single.tar 构建 chinaskill- zookeeper:v1.1 镜像,具体要求如下:
(1) 基础镜像:centos:centos7.5.1804;
(2) 作者:Chinaskill;
(3)开放端口:2181;
(4)设置服务开机自启。
完成后构建镜像,使用构建的镜像运行容器myzookeeper,并提交 master 节点的用户名、密码和 IP 到答题框。
【题目 4】容器化部署 Kafka
在 master 节点上编写/root/kafka/Dockerfile 文件,基于提供的软件包 gpmall-single.tar 构建chinaskill- kafka:v1.1 镜像,具体要求如下:
(1) 基础镜像:centos:centos7.5.1804;
(2) 作者:Chinaskill;
(3)开放端口:9092;
(4)设置服务开机自启。
完成后构建镜像,并提交 master 节点的用户名、密码和IP 到答题框。
【题目 5】容器化部署 Nginx
在 master 节点上编写/root/nginx/Dockerfile 文件,基于提供的软件包 gpmall-single.tar 构建chinaskill- nginx:v1.1 镜像,具体要求如下:
(1) 基础镜像:centos:centos7.5.1804;
(2) 作者:Chinaskill;
(3) 编写/etc/nginx/conf.d/default.conf 文件,配置反向代理,将 80 端口请求转发到 8081、8082 和 8083;
(4) 将 dist.tar 解压并复制到/usr/share/nginx/html/ 目录下;
(5)开放端口:80、443、8081、8082、8083;
(6)设置服务开机自启。
完成后构建镜像,并提交 master 节点的用户名、密码和IP 到答题框。
【题目 6】编排部署 GPMall 商城
在 master 节点上编写/root/chinaskillmall/docker- compose.yaml 文件,具体要求如下:
(1) 容器 1 名称:mysql;镜像:chinaskill- mariadb:v1.1;端口映射:3306:3306;
(2) 容器 2 名称:redis;镜像:chinaskill- redis:v1.1;端口映射:6379:6379;
(3) 容器 3 名称:kafka;镜像:chinaskill- kafka:v1.1;端口映射:9092:9092;
(4) 容器 4 名称:zookeeper;镜像:chinaskill- zookeeper:v1.1;端口映射:2181:2181;
(5) 容器 5 名称:nginx;镜像:chinaskill- nginx:v1.1;端口映射:80:80,443:443。
完成后编排部署 GPMall,并提交 master 节点的用户名、密码和 IP 到答题框。
【任务 7】基于 Kubernetes 构建持续集成[15 分]
该公司决定采用 GitLab +Jenkins 来构建 CICD 环境,以缩短新功能开发上线周期,及时满足客户的需求,实现 DevOps 的部分流程,来减轻部署运维的负担,实现可视化容器生命周期管理、应用发布和版本迭代更新,请完成 GitLab +Jenkins 的 CICD 环境部署。
【适用平台】私有云
【题目 1】安装 Jenkins 环境
在 master 节点上使用镜像 jenkins/jenkins:2.262- centos 部署 Jenkins 服务,具体要求如下:
(1)容器名称:jenkins;
(2)端口映射:8080:80;
(3) 使用 root 身份生成容器;
(4) 离线安装 Jenkins 插件;
(5) 设置 Jenkins 用户:chinaskill;密码:000000;
(6) 配置权限“任何用户可以做任何事(没有任何限 制)”。使用 chinaskill 用户登录 Jenkins,完成后提交 master节点的用户名、密码和 IP 到答题框。
【题目 2】安装 Gitlab 环境
在 master 节点上使用镜像 gitlab/gitlab-ce:12.9.2- ce.0 部署 Gitlab 服务,具体要求如下:
(1)容器名称:mygitlab;
(2)端口映射:1022:22、81:80、443:443;
(3) 重启策略:always;
(4) 设置 Gitlab 用户:root;密码:00000000;
(5) 新建项目:ChinaskillProject;
(6) 将/opt/ChinaskillProject 中的代码上传到ChinaskillProject 项目中。
完成后提交 master 节点的用户名、密码和 IP 到答题框。
【题目 3】配置 Jenkins 连接 Gitlab
配置 Jenkins 连接 Gitlab,具体要求如下:
(1) 设置 Outbound requests;
(2) 生成“Access Tokens”;
(3) 设置 Jenkins 取消对’/project’ end-point 进行身份验证;
(4) 测试 Jenkins 与 Gitlab 的连通性。
完成后提交 master 节点的用户名、密码和 IP 到答题框。
【题目 4】配置 Jenkins 连接 maven
配置 Jenkins 连接 maven,具体要求如下:
(1) 采用 docker in docker 的方式在 Jenkins 内安装maven;
(2) 在 Jenkins 中配置 maven 信息。
完成后提交 master 节点的用户名、密码和 IP 到答题框。
【题目 5】配置 CI/CD
配置 CI/CD,具体要求如下:
(1) 新建一个流水线任务 ChinaskillProject;
(2) 编写流水线脚本;
(3) 配置 Webhook;
(4) 在 Harbor 中新建公开项目 chinaskillproject。 完成后提交 master 节点的用户名、密码和 IP 到答题框。
【任务 8】Kubernetes 容器云平台部署与运维[15 分]
【适用平台】私有云
本任务只公布考试范围,不公布赛题
本任务内容为:Kubernetes 集群环境搭建和运维、基于Kubernetes 集群的应用系统部署与运维。