#需要资源或有问题的,可私博主!!!

#需要资源或有问题的,可私博主!!!

#需要资源或有问题的,可私博主!!!

某企业拟使用 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

虚拟机使用

说明:

  1. 表中的 x,y 为 vlan 号,每人有两个 vlan 号;z 为工位号;
  2. 根据图表给出信息,检查硬件连线及网络设备配置, 确保网络连接正常;
  3. 考试所需要的资源包与附件均在考位信息表中给出;
  4. 竞赛过程中,为确保服务器的安全,请自行修改服务 器密码;在考试系统提交信息时,请确认自己的 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 集群的应用系统部署与运维。