私有云服务搭建

一、私有云服务搭建(当前任务共10道题目)

1、【实操题】1.1.1 基础环境配置(1分)

1.控制节点主机名为controller,设置计算节点主机名为compute;

2.hosts文件将IP地址映射为主机名。

使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至controller和compute节点(第二张网卡的网段为10.10.X.0/24,X为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与ssh连接,然后按以下要求配置服务器:

(1)设置控制节点主机名为controller,设置计算节点主机名为compute;

(2)修改hosts文件将IP地址映射为主机名;

完成后提交控制节点的用户名、密码和IP地址到答题框。

2、【实操题】1.1.2 Yum源配置(1分)

使用提供的http服务地址,分别设置controller节点和compute节点的yum源文件http.repo。

使用提供的http服务地址,在http服务下,存在centos7.9和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。完成后提交控制节点的用户名、密码和IP地址到答题框。

3、【实操题】1.1.3 配置无秘钥ssh(1分)

配置controller节点可以无秘钥访问compute节点。

配置controller节点可以无秘钥访问compute节点,配置完成后,尝试ssh连接compute节点的hostname进行测试。完成后提交controller节点的用户名、密码和IP地址到答题框。

4、【实操题】1.1.4 基础安装(0.2分)

在控制节点和计算节点上分别安装openstack-iaas软件包。

在控制节点和计算节点上分别安装openstack-iaas软件包,根据表2配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。

表2 云平台配置信息

服务名称

变量

参数/密码

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

eth1(以实际为准)

完成后提交控制节点的用户名、密码和IP地址到答题框。

5、【实操题】1.1.5 数据库安装与调优(0.5分)

在控制节点上使用安装Mariadb、RabbitMQ等服务。并进行相关操作。

在controller节点上使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、RabbitMQ等服务。安装服务完毕后,修改/etc/my.cnf文件,完成下列要求:

1.设置数据库支持大小写;

2.设置数据库缓存innodb表的索引,数据,插入数据时的缓冲为4G;

3.设置数据库的log buffer为64MB;

4.设置数据库的redo log大小为256MB;

5.设置数据库的redo log文件组为2。

6.修改Memcached的相关配置,将内存占用大小设置为512MB,调整最大连接数参数为2048;

7.调整Memcached的数据摘要算法(hash)为md5;

完成后提交控制节点的用户名、密码和IP地址到答题框。

6、【实操题】1.1.6 Keystone服务安装与使用(0.5分)

在控制节点上安装Keystone服务并创建用户。

在controller节点上使用iaas-install-keystone.sh脚本安装Keystone服务。

然后创建OpenStack域210Demo,其中包含Engineering与Production项目,在域210Demo中创建组Devops,其中需包含以下用户:

1.Robert用户是Engineering项目的用户(member)与管理员(admin),email地址为:Robert@lab.example.com。

2.George用户是Engineering项目的用户(member),email地址为:George@lab.example.com。

3.William用户是Production项目的用户(member)与管理员(admin),email地址为:William@lab.example.com。

4.John用户是Production项目的用户(member),email地址为:John@lab.example.com

完成后提交控制节点的用户名、密码和IP地址到答题框。

7、【实操题】1.1.7 Glance安装与使用(0.5分)

在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。

在controller节点上使用iaas-install-glance.sh脚本安装glance服务。然后使用提供的coreos_production_pxe.vmlinuz镜像(该镜像为Ironic Deploy镜像,是一个AWS内核格式的镜像,在OpenStack Ironic裸金属服务时需要用到)上传到OpenStack平台中,命名为deploy-vmlinuz。完成后提交控制节点的用户名、密码和IP地址到答题框。

8、【实操题】1.1.8 Nova安装与优化(0.5分)

在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。

在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地址到答题框。

9、【实操题】1.1.9 Neutron安装(0.2分)

在控制和计算节点上正确安装Neutron服务。

使用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地址到答题框

10、【实操题】1.1.10 Dashboard安装(0.5分)

在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。

在controller节点上使用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相关配置文件,完成下列两个操作:

1.使得登录Dashboard平台的时候不需要输入域名;

2.将Dashboard中的Django数据修改为存储在文件中。

完成后提交控制节点的用户名、密码和IP地址到答题框。

11、【实操题】1.1.11 Swift安装(0.5分)

在控制节点和计算节点上分别安装Swift服务。安装完成后,将cirros镜像进行分片存储。

在控制节点和计算节点上分别使用iaas-install-swift-controller.sh和iaas-install-swift-compute.sh脚本安装Swift服务。安装完成后,使用命令创建一个名叫examcontainer的容器,将cirros-0.3.4-x86_64-disk.img镜像上传到examcontainer容器中,并设置分段存放,每一段大小为10M。完成后提交控制节点的用户名、密码和IP地址到答题框。

12、【实操题】1.1.12 Cinder创建硬盘(0.5分)

在控制节点和计算节点分别安装Cinder服务,请在计算节点,对块存储进行扩容操作。

在控制节点和计算节点分别使用iaas-install-cinder-controller.sh、iaas-install-cinder-compute.sh脚本安装Cinder服务,请在计算节点,对块存储进行扩容操作,即在计算节点再分出一个5G的分区,加入到cinder块存储的后端存储中去。完成后提交计算节点的用户名、密码和IP地址到答题框。

二、私有云服务运维(当前任务共10道题目)

1、【实操题】1.2.1 Linux文件操作(1分)

1、在root目录下,创建一个名为chinaskill的目录。并按照以下要求进行操作:

    (1)在 chinaskill 目录下创建一个名为chinaskills.txt的空文本文件;

(2)复制chinaskills.txt到chinaskill目录下,并将其命名为chinaskills_copy.txt;

完成后提交控制节点的用户名、密码和IP地址到答题框。

2、【实操题】1.2.2 Linux用户操作(1分)

在Linux系统中,用户是非常重要的一个功能,按照以下要求进行用户操作:

(1)创建user01用户、创建用户的同时指定UID为3021,指定备注信息为Hllo user01;

(2)创建user02用户,创建usergroup01组,要求创建user02用户后,将user02用户的所属用户组更改为usergroup01;

(3)创建user03用户,指定家目录为/root/chinaskill;

完成后提交控制节点的用户名、密码和IP地址到答题框。

1.用户操作:

(1)创建user01用户、创建用户的同时指定UID为3021,指定备注信息为Hllo user01;

[root@master ~]# useradd user01 -u3021 -c "Hllo user01"

(2)创建user02用户,创建usergroup01组,要求创建user02用户后,将user02用户的所属用户组更改为usergroup01;

[root@master ~]# useradd user02

[root@master ~]# groupadd usergroup01

[root@master ~]# usermod -g usergroup01 user02

(3)创建user03用户,指定家目录为/root/chinaskill;

[root@master ~]# useradd user03 -d /root/chinaskill

2

查看当前系统的内核版本和当前内存空闲信息,内存单位为GB,将结果输出到/root/resources.txt文件中。

[root@master ~]# cat /etc/redhat-release >> /root/resources.txt

[root@master ~]# free  -g >> /root/resources.txt

3、【实操题】1.2.3 OpenStack云主机安全(2分)

使用自行创建的OpenStack云计算平台,通过相关操作,设置主机的密码策略,设置root用户的口令有效期更改为30天。配置完成后提交controller控制节点的用户名、密码和IP地址到答题框。

vi /etc/login.defs

在打开的文件中,找到以下两行,将其修改为:

PASS_MAX_DAYS 30 PASS_MIN_DAYS 0

这样,root用户的口令有效期将被更改为30天。

  1. 保存文件并退出编辑器。
  2. 重启主机或重启相关服务,使新的密码策略生效。

4、【实操题】1.2.4 Glance调优(2分)

在OpenStack平台中,修改相关配置文件,将子进程数量相应的配置修改成2。

在OpenStack平台中,glance-api处理请求的子进程数量默认是0,只有一个主进程,请修改相关配置文件,将子进程数量相应的配置修改成2,这样的话有一个主进程加2个子进程来并发处理请求。完成后提交控制节点的用户名、密码和IP地址到答题框。

  1. 打开glance-api服务的配置文件glance-api.conf。

vi /etc/glance/glance-api.conf。

  1. 找到并修改以下配置项:

[glance-api] ... workers = 2

将workers的值修改为2,表示启动2个子进程来处理请求。

  1. 保存并关闭文件。
  2. 重启glance-api服务,使修改的配置生效。可以使用以下命令重启服务:

systemctl restart openstack-glance-api.service

这样,glance-api服务将会以一个主进程加两个子进程的方式来并发处理请求。

5、【实操题】1.2.5 使用Heat模板创建网络(1分)

在自行搭建的OpenStack私有云平台上,编写Heat模板文件,完成网络的创建。

在自行搭建的OpenStack私有云平台上,在/root目录下编写Heat模板create_net.yaml,创建名为Heat-Network网络,选择不共享;创建子网名为Heat-Subnet,子网网段设置为10.20.2.0/24,开启DHCP服务,地址池为10.20.2.20-10.20.2.100。完成后提交控制节点的用户名、密码和IP地址到答题框。(在提交信息前请准备好yaml模板执行的环境)

vi create_net.yaml 编辑create_net.yaml文件,输入以下内容: heat_template_version: 2013-05-23 description: Create Heat-Network and Heat-Subnet resources: HeatNetwork: type: OS::Neutron::Net properties: name: Heat-Network shared: false HeatSubnet: type: OS::Neutron::Subnet properties: name: Heat-Subnet network: { get_resource: HeatNetwork } cidr: 10.20.2.0/24 enable_dhcp: true allocation_pools: - start: 10.20.2.20 end: 10.20.2.100 保存文件并退出编辑器。 在OpenStack控制节点上,使用OpenStack客户端执行以下命令来创建网络和子网: openstack stack create -t create_net.yaml heat-network-stack

6、【实操题】1.2.6 NFS对接Glance后端存储(1分)

使用OpenStack私有云平台,创建一台云主机,安装NFS服务,然后对接Glance后端存储。

使用赛项提供的OpenStack私有云平台,创建一台云主机(镜像使用CentOS7.5,flavor使用带临时磁盘50G的),配置该主机为nfs的server端,将该云主机中的/mnt/test目录进行共享(目录不存在可自行创建)。然后配置controller节点为nfs的client端,要求将/mnt/test目录作为glance后端存储的挂载目录。配置完成后提交controller控制节点的用户名、密码和IP地址到答题框。

7、【实操题】1.2.7 Glance镜像存储限制(1分)

使用自行搭建的OpenStack平台。请修改Glance后端配置文件,将用户的镜像存储配额限制为20GB。

在OpenStack平台上,请修改glance后端配置文件,将用户的镜像存储配额限制为20GB。完成后提交控制节点的用户名、密码和IP地址到答题框。

8、【实操题】1.2.8 入侵检测系统(2分)

使用提供的makechk.tar.gz包安装chkrootkit入侵检测工具,安装完毕后使用chkrootkit工具扫描系。

使用提供的makechk.tar.gz包安装chkrootkit入侵检测工具,安装完毕后使用chkrootkit工具扫描系统,并将扫描结果保存到/var/log/chkrootkit/chkrootkit.log,根据扫描的结果,修复漏洞。操作完成后,提交该云主机的用户名、密码和IP到答题框。

在目标云主机上解压makechk.tar.gz包: tar zxvf makechk.tar.gz 进入解压后的目录: cd makechk 4. 使用root权限执行安装脚本: sudo ./chkrootkit-install.sh 安装过程中可能需要您提供root密码进行确认。 5. 安装完成后,使用chkrootkit工具扫描系统: sudo chkrootkit 扫描过程可能需要一些时间,请耐心等待。 6. 将扫描结果保存到/var/log/chkrootkit/chkrootkit.log文件中: sudo chkrootkit > /var/log/chkrootkit/chkrootkit.log 7. 查看扫描结果: cat /var/log/chkrootkit/chkrootkit.log 请仔细查看扫描结果,如果发现任何漏洞,请根据chkrootkit提供的建议进行修复。

8、【实操题】1.2.8 入侵检测系统(2分)

使用提供的makechk.tar.gz包安装chkrootkit入侵检测工具,安装完毕后使用chkrootkit工具扫描系。

使用提供的makechk.tar.gz包安装chkrootkit入侵检测工具,安装完毕后使用chkrootkit工具扫描系统,并将扫描结果保存到/var/log/chkrootkit/chkrootkit.log,根据扫描的结果,修复漏洞。操作完成后,提交该云主机的用户名、密码和IP到答题框。

9、【实操题】1.2.9 日志分析服务(1分)

使用提供的sepb_elk_latest.tar镜像安装ELK服务。

自行配置YUM源安装Docker服务,然后使用提供的sepb_elk_latest.tar镜像安装ELK服务,安装完成后,进行添加数据操作,将ELK监控目标节点所需安装的RPM安装包下载到本地云主机的/root目录下。完成后提交ELK云主机的用户名、密码和IP到答题框。

10、【实操题】1.2.10 Linux 网络命名空间运维(3分)

在controller节点创建2个网络命令空间:netns0、netns1 ,创建1对虚拟网络设备vnet0、vnet1。把veth0设置到netns0命名空间,把veth1设置到netns1命名空间。为vnet0设置IP为192.168.0.2/32,为veth1设置IP为192.168.0.2/32,实现2个命名空间的网络互通。完成后提交controller控制节点的用户名、密码和IP地址到答题框。

三、私有云运维开发(当前任务共4道题目)

在目标云主机上解压makechk.tar.gz包: tar zxvf makechk.tar.gz 进入解压后的目录: cd makechk 4. 使用root权限执行安装脚本: sudo ./chkrootkit-install.sh 安装过程中可能需要您提供root密码进行确认。 5. 安装完成后,使用chkrootkit工具扫描系统: sudo chkrootkit 扫描过程可能需要一些时间,请耐心等待。 6. 将扫描结果保存到/var/log/chkrootkit/chkrootkit.log文件中: sudo chkrootkit > /var/log/chkrootkit/chkrootkit.log 7. 查看扫描结果: cat /var/log/chkrootkit/chkrootkit.log 请仔细查看扫描结果,如果发现任何漏洞,请根据chkrootkit提供的建议进行修复。

install_zabbix.tar.gz

1、【实操题】1.3.1 Ansible部署zabbix服务(2分)

使用赛项提供的OpenStack私有云平台,创建2台系统为centos7.5的云主机,其中一台作为Ansible的母机并命名为ansible,另一台云主机命名为node,通过http服务中的ansible.tar.gz软件包在ansible节点安装Ansible服务;并用这台母机,补全Ansible脚本(在HTTP中下载并解压到/root目录下),补全Ansible脚本使得执行install_zabbix.yaml可以在node节点上完成zabbix服务的安装。完成后提交ansible节点的用户名、密码和IP地址到答题框。(考试系统会连接到ansible节点,执行ansible脚本,准备好环境,以便考试系统访问)

四、容器云服务搭建(当前任务共1道题目)

1、【实操题】2.1.1 部署容器云平台(5分)

使用OpenStack私有云平台创建两台云主机,云主机类型使用4vCPU/12G/100G类型,分别作为Kubernetes集群的Master节点和node节点,然后完成Kubernetes集群的部署,并完成Istio服务网格、KubeVirt虚拟化和Harbor镜像仓库的部署。

完成后提交Master节点的用户名、密码和IP到答题框。

[root@master ~]# tar -xf ServiceMesh.tar.gz

导入所有镜像:

[root@master ~]# docker load -i ServiceMesh/images/image.tar

(2)启动Kubernetes集群

初始化Kubernetes集群:

[root@master ~]# init-cluster

2、【实操题】1.3.2 Python运维开发:用户管理接口开发(2分)

使用已建好的OpenStack Python运维开发环境,在/root目录下创建user_manager.py脚本,使用Flask框架,编写Python代码,端口为5043,IP地址为0.0.0.0,开发出OpenStack用户管理的接口,需要实现的接口如下:

(1)GET /user/,自行调用查询接口,查询指定名称的用户;返回信息以json格式输出到控制台。

(2)POST /user/create,自行调用创建接口,创建名为chinaskill的用户,密码为123456,返回信息以json格式输出到控制台。

(3)DELETE /user/delete/,自行调用删除接口,删除指定名称的用户,若删除成功,返回信息输出到控制台。

完成后提交OpenStack Python运维开发环境 Controller节点的IP地址,用户名和密码到答题框。

3、【实操题】1.3.3 OpenStack资源管理的客户端程序开发 (3分)

使用已建好的OpenStack Python运维开发环境,在root目录下创建resource_manager.py脚本,基于OpenStack资源配额管理服务封装客户端工具,resource_manager.py程序支持命令行带参数执行,命令参数要求说明如下:

(1)位置参数“command”,表示操作类型。操作类型包括“list”:标识查看所有的对象;“get”:查询指定的对象。

(2)位置参数“resource”,表示资源信息类型:类型包括 “provider”:资源提供者;“inventory”:资源库存;“usage”:资源使用情况。

(3)参数“-p或-- provider”,标识资源提供者的名称。

功能要求如下:

(1)程序查询所有资源提供者,以json格式控制台输出。

执行实例如下: python3 resource_manager.py list provider

(2)查询指定资源提供者的资源信息,以json格式控制台输出。

执行实例如下: python3 resource_manager.py get provider -p “providername”

(3)查询指定资源提供者的资源库存信息,以json格式控制台输出。

执行实例如下: python3 resource_manager.py get inventory -p “providername”

(4)查询指定资源提供者的资源使用信息,以json格式控制台输出。

执行实例如下: python3 resource_manager.py get usage -p “providername”

4、【实操题】1.3.4 OpenStack 数据库操作开发(3分)

使用已建好的OpenStack Python运维开发环境,在/root目录下创建mysql_db_manager.py脚本,基于python的sqlalchemy库进行数据库的管理,实现对OpenStack内指定服务的MariaDB数据库管理功能,实现该数据库下表创建、删除、数据插入、更新等操作(为确保检测成功,OpenStack MariaDB数据库的账户root、密码000000不要修改):

该表(table)用于描述OpenStack成员信息,表结构如下:

表名称"member",该表有4个字段:

id INTEGER 主键,自动递增;

name VARCHAR(256);

level INTEGER;

place varchar(256);

(1)mysql_db_manager内部实现DM_Manager类,类初始化方法def __init__(self, db_name),参数db_name是OpenStack内部指定的某一服务数据库名称。

(2)DM_Manager类实现create_table(self)方法。实现创建表功能,表指member表。

(3)DM_Manager类实现insert_table_data(self,**kwargs)方法。实现表中表数据插入功能,参数kwargs参数为要插入数据记录信息,key与表字段名称一致。

(4)DM_Manager类实现update_table_data(self,**kwargs)方法。实现表中数据记录更新功能,参数kwargs参数为要更新数据记录信息,key与表字段名称一致。

(5)DM_Manager类实现run_table_raw_sql(self, raw_sql:str): 方法,无参数。实现表中直接执行sql语句功能,raw_sql参数为sql语句。

(6)DM_Manager类实现delete_table(self)方法。实现删除表功能,表指member表。

用户名:

密码:

五、容器云服务运维(当前任务共10道题目)

1、【实操题】2.2.1 Docker创建容器操作(2分)

使用nginx镜像创建一个名为 chinaskills 的容器,确保容器在后台运行,并映射容器的80端口到主机的5080端口。

完成后提交控制节点的用户名、密码和IP地址到答题框。

[root@master ~]# curl -O http://mirrors.douxuedu.com/cloud/nginx-v1.tar

[root@master ~]# docker load < nginx-v1.tar

docker run -d -p 5080:80 --name chinaskills nginx:v1

2、【实操题】2.2.2 Docker查询容器操作(2分)

使用Docker命令列出当前系统上所有正在运行的容器,并输出应包含容器的ID、名称、使用的镜像等信息。将输出的信息重定向到/root/dockerinfo.txt文件中。

完成后提交控制节点的用户名、密码和IP地址到答题框。

3、【实操题】2.2.3 容器化部署MariaDB (1分)

编写Dockerfile文件构建mysql镜像,要求基于centos完成MariaDB数据库的安装与配置,并设置服务开机自启。

编写Dockerfile构建镜像explorer-mysql:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成MariaDB数据库的安装,设置root用户的密码为root,并设置MariaDB数据库开机自启。

#mkdir mysql

#cd mysql

#vi Dockerfile.yaml

FROM centos:7.9.2009

安装 MariaDB

RUN yum install -y mariadb-server mariadb

设置 MariaDB root 用户密码

RUN mysqladmin -u root password root

设置 MariaDB 开机自启

RUN systemctl enable mariadb

暴露 MariaDB 端口

EXPOSE 3306

设置环境变量

ENV MARIADB_ROOT_PASSWORD root

ENV MARIADB_DATABASE explorer

启动 MariaDB

CMD ["/usr/bin/mysqld"]

#docker build -t explorer-mysql:v1.0 .

4、【实操题】2.2.4 容器化部署Redis (1分)

编写Dockerfile文件构建redis镜像,要求基于centos完成Redis服务的安装和配置,并设置服务开机自启。

编写Dockerfile构建镜像explorer-redis:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成Redis服务的安装,修改其配置文件关闭保护模式,并设置Redis服务开机自启。

完成后提交Master节点的IP地址、用户名和密码到答题框。

5、【实操题】2.2.5 容器化部署Nginx (1分)

编写Dockerfile文件构建nginx镜像,要求基于centos完成Nginx服务的安装和配置,并设置服务开机自启。

编写Dockerfile构建镜像explorer-nginx:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成Nginx服务的安装,并设置Nginx服务开机自启。

完成后提交Master节点的IP地址、用户名和密码到答题框

6、【实操题】2.2.6 容器化部署Explorer(1分)

编写Dockerfile文件构建explorer镜像,要求基于centos完成PHP和HTTP环境的安装和配置,并设置服务开机自启。

编写Dockerfile构建镜像explorer-server:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成HTTP和PHP服务的安装,然后将kodexplorer4.37.zip解压到/var/www/html目录下,修改HTTP服务的监听地址为本机,并设置HTTP服务开机自启。

完成后提交Master节点的IP地址、用户名和密码到答题框。

7、【实操题】2.2.7 部署GitLab (2分)

将GitLab部署到Kubernetes集群中,设置GitLab服务root用户的密码,使用Service暴露服务,并将提供的项目包导入到GitLab中。

在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和Service名称均为gitlab,以NodePort方式将80端口对外暴露为30880,设置GitLab服务root用户的密码为admin@123,将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048。

完成后提交Master节点的用户名、密码和IP地址到答题框。(需要用到的软件包:CICD-Runner.tar.gz)

#

8、【实操题】2.2.8 部署GitLab Runner (2分)

将GitLab Runner部署到Kubernetes集群中,为GitLab Runner创建持久化构建缓存目录以加速构建速度,并将其注册到GitLab中。

将GitLab Runner部署到gitlab-ci命名空间下,Release名称为gitlab-runner,为GitLab Runner创建持久化构建缓存目录/home/gitlab-runner/ci-build-cache以加速构建速度,并将其注册到GitLab中。

完成后提交Master节点的用户名、密码和IP地址到答题框。(需要用到的软件包:CICD-Runner.tar.gz)

9、【实操题】2.2.9 编排部署Explorer资源管理系统(1分)

编写docker-compose.yaml文件,要求使用镜像mysql、redis、nginx和explorer完成Explorer管理系统的编排部署。

编写docker-compose.yaml完成Explorer资源管理系统的部署,要求定义mysql、redis、nginx和explore共四个Service,分别使用镜像explorer-redis:v1.0、explorer-mysql:v1.0、explorer-nginx:v1.0、explorer-server:v1.0,并将explorer的80端口映射到宿主机的8090端口。

完成后提交Master节点的IP地址、用户名和密码到答题框。

10、【实操题】2.2.10 服务网格:Sidecar管理(2分)

在default命名空间下部署Bookinfo应用。创建exam命名空间,并声明一个Sidecar配置,允许向指定命名空间的公共服务输出流量。为所有指定标签的Pod声明一个Sidecar配置,接收和转发指定的流量。

在prod-us1命名空间中声明一个名为default的Sidecar配置,允许向prod-us1、prod-apis和istio-system命名空间的公共服务输出流量。

完成后提交master节点的IP地址、用户名和密码到答题框。

-------------

heat_template_version: 2014-10-16

resources:

container:

type: OS::Swift::Container

properties:

name: heat-swift

PurgeOnDelete: true

X-Container-Read: truedocker build -t explorer-nginx:v1.0 .使用centos7.9.2009镜像作为基础镜像

FROM centos:7.9.20096、【实操题】2.2.6 容器化部署Explorer(1分)

编写Dockerfile文件构建explorer镜像,要求基于centos完成PHP和HTTP环境的安装和配置,并设置服务开机自启。

编写Dockerfile构建镜像explorer-server:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成HTTP和PHP服务的安装,然后将kodexplorer4.37.zip解压到/var/www/html目录下,修改HTTP服务的监听地址为本机,并设置HTTP服务开机自启。

完成后提交Master节点的IP地址、用户名和密码到答题框。

安装 HTTP 和 PHP 环境

RUN yum install -y httpd php使用centos7.9.2009镜像作为基础镜像

解压 kodexplorer4.37.zip 到 /var/www/html 目录下

ADD kodexplorer4.37.zip /var/www/html/

RUN cd /var/www/html/ && unzip kodexplorer4.37.zip && rm -f kodexplorer4.37.zip

修改HTTP服务的监听地址为本机

RUN sed -i 's/Listen 80/Listen 0.0.0.0:80/' /etc/httpd/conf/httpd.conf

设置 HTTP 服务开机自启

RUN systemctl enable httpd

暴露 HTTP 端口

EXPOSE 80

启动 HTTP 服务

CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

#docker build -t explorer-server:v1.0 .

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roesonly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值