云盘算职业技能大赛

张春  金牌会员 | 2025-1-24 21:37:45 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 891|帖子 891|积分 2673

第十七届山东省职业院校技能大赛

高职组“云盘算应用”赛项B卷

【场次名称】第一场:模块一 私有云 模块二 容器云

某企业根据自身业务需求,实行数字化转型,规划和建设数字化平台,平台聚焦“DevOps开辟运维一体化”和“数据驱动产品开辟”,拟接纳开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,选择国内主流公有云平台服务,基于数字化平台底座,面向业务开辟边沿盘算云应用产品。
拟将该任务交给工程师A与B,分工帮忙完成云平台服务部署、云应用开辟、云系统运维等任务,系统架构如图1所示,IP地点规划如表1所示。
图 1 系统架构图
说明
1.每个选手各有自己的用户账号与密码,同组选手互助完成一套赛题操纵;同组选手注意分工和帮忙,避免重复答题,每组的资源配额相同,避免资源过度申请;
2.竞赛所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
3.答题过程严格按照标题要求举行答题。

【任务】任务一、私有云服务搭建[5分]

【适用平台】私有云

【标题】1.1.1 集群主机环境配置[0.5分]

利用已提供创建两台云主机搭建OpenStack两节点集群,云主机范例利用4vCPU/16G范例,检测2台主机的网络互通环境,以确保网络正常通信与ssh毗连,然后按以下要求配置服务器:
(1)设置控制节点主机名为controller,设置盘算节点主机名为compute;
(2)修改hosts文件将IP地点映射为主机名;
(3)利用提供的安装包文件,并分别修改好master节点和node节点的yum源文件“/etc/yum.repos.d/local.repo”。
(4)配置controller节点可以无秘钥访问compute节点。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/installation/yum/config

【标题】1.1.2 底子软件包安装[0.5分]

在控制节点和盘算节点上分别安装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地点到答题框。
【机器判分码】openstack/installation/iaas/install

【标题】1.1.3 数据库及消息服务安装与利用[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地点到答题框。
【机器判分码】openstack/installation/db-mq/install

【标题】1.1.4 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地点到答题框。
【机器判分码】openstack/installation/keystone/install

【标题】1.1.5 Glance安装与利用[0.6分]

在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
在controller节点上利用iaas-install-glance.sh脚本安装glance服务。然后将cirros-0.5.2-x86_64-disk.img镜像上传到OpenStack平台中,镜像名称为cirros-0.5.2。完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/installation/glance/install

【标题】1.1.6 Nova安装[0.6分]

在控制节点和盘算节点上分别安装Nova服务。安装完成后,完成Nova相干配置。
在controller节点和compute节点上分别利用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相干配置文件,修改调度器规则接纳缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/installation/nova/install

【标题】1.1.7 Neutron安装[0.6分]

在控制和盘算节点上正确安装Neutron服务。
利用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/installation/neutron/install

【标题】1.1.8 Dashboard安装[0.6分]

在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。
在controller节点上利用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相干配置文件,完成下列两个操纵:
1.使得登录Dashboard平台的时候不需要输入域名;
2.将Dashboard中的Django数据修改为存储在文件中。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/installation/horizon/install

【标题】1.1.9 Swift安装[0.6分]

在控制节点和盘算节点上分别安装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地点到答题框。
【机器判分码】openstack/installation/swift/install

【任务】任务二、私有云服务运维[15分]

【适用平台】私有云
【标题】1.2.1 利用Heat模板创建用户 [1.0分]

利用自己搭建的OpenStack私有云平台,利用heat编写摸板(heat_template_version: 2016-04-08)创建名为”chinaskills”的domain,在此domain下创建名为beijing_group的租户,在此租户下创建名为cloud的用户,将此文件命名及生存在/root/user_create.yml,完成后提交controller点的用户名、密码和IP地点到答题框。(说明:竞赛系统会远程执行user_create.yml文件,提交前先清理heat中测试数据)
【机器判分码】openstack/operation/heat/user/create

【标题】1.2.2 利用Heat模板创建网络[1.0分]

在自行搭建的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地点到答题框。(说明:竞赛系统会远程执行create_net.yaml文件,提交前先清理heat中测试数据)
【机器判分码】openstack/operation/heat/network/create

【标题】1.2.3 Linux系统调优[1.0分]

修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。
Linux系统内存中会存在脏数据,一般系统默认脏数据30秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。完成后提交controller节点的用户名、密码和IP地点到答题框。
【机器判分码】linux/centos7.9/sys/vm/dirty/writeback

【标题】1.2.4 Glance调优[1.0分]

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

【标题】1.2.5 Glance开放镜像权限[1.0分]

在admin项目中存在glance-cirros镜像文件,将glance-cirros镜像指定demo项目举行共享利用。
利用OpenStack私有云平台,在OpenStack平台的admin项目中利用cirros-0.3.4-x86_64-disk.img镜像文件创建名为glance-cirros的镜像,通过OpenStack下令将glance-cirros镜像指定demo项目举行共享利用。配置完成后提交controller点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/operation/glance/image/share

【标题】1.2.6 Glance镜像转换[1.0分]

利用CentOS7.5-compress.qcow2 的镜像,将该镜像转换为RAW格式。
利用自行搭建的OpenStack平台。在竞赛平台文件列表存在一个镜像为 CentOS7.5-compress.qcow2 的镜像,请利用 qemu 相干下令,将镜像转换为raw格式镜像,转换后的镜像命名为 chinaskill-compress.raw 并存放在/root 目次下。完成后提交controller点的用户名、密码和IP地点到答题框。
【机器判分码】openstack/operation/glance/image/compress/raw

【标题】1.2.7 ISCSI存储配置[3.0分]

在自行搭建的OpenStack云平台上,控制节点为客户端,盘算节点为服务端,自行预留磁盘存储,举行iscsi存储服务器的配置,要求如下:
1.创建target,target名称为iqn.2024-11.com.chinaskills:compute;
2.创建名为chinaskills.iscsi_store的存储设备;
3.将存储设备绑定到后端存储;
4.设置控制列表,只允许主机名controller的客户端可以举行访问;
5.关闭账号密码验证访问;
6.客户端可以毗连到服务端共享的存储设备;
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】linux/iscsi/create/store

【标题】1.2.8 Cgroup运维[3.0分]

在提供的OpenStack的云平台上,通过cgroup技能来实现对ps下令的内存和磁盘利用限制,确保任何用户在执行ps下令时,其内存消耗不凌驾设定的值,限制vda磁盘的读取速率为1MB/S。组名设置为data。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】linux/cgroup/command/memory

【标题】1.2.9  Linux Bridge网络互通[3.0分]

在controller节点创建两个网络命名空间,分别命名为“ns01”和“ns02”,然后创建名为“br-skill”的Linux Bridge网络桥,关闭Spanning Tree Protocol(STP)并启用该网络桥,接着创建两组端口对,每组包罗两个虚拟以太网设备,一个设备毗连到网络桥,另一个设备毗连到相应的命名空间。末了为命名空间“ns01“分配IP为172.128.9.7,命名空间”ns02“分配IP为172.128.9.8,实现2个命名空间的网络互通。
完成以后提交controller节点的用户名、密码和IP地点到答题框。
【机器判分码】linux/centos7.9/linux-bridge/network/connect

【任务】任务三、私有云运维开辟[10分]

【适用平台】私有云
【标题】1.3.1 OpenStack镜像管理 Python程序开辟[2分]

编写Python代码,实现OpenStack镜像增删查改。
利用已经部署完成的OpenStack两节点云平台,在controller节点安装Python 3.7.3的运行环境与依赖库。
在controller节点的/root目次下创建create_image.py文件,编写python代码对接OpenStack API,完成镜像的上传与查询。
(1)创建镜像:要求在OpenStack私有云平台中上传镜像cirros-0.3.4-x86_64-disk.img,名字为pvm_image,disk_format为qcow2,container_format为bare。
(2)查询镜像:查询pvm_image的详细信息,并控制台输出。
完成后提交OpenStack Python运维开辟环境 Controller节点的IP地点,用户名和密码提交。
【机器判分码】openstack/python/dev/glance/image/manage

【标题】1.3.2 OpenStack用户管理服务接口开辟[3分]

利用已建好的OpenStack Python运维开辟环境,在/root目次下创建user_manager.py脚本,利用Flask框架,编写Python代码,端口为5043,IP地点为0.0.0.0,开辟出OpenStack用户管理的接口,需要实现的接口如下:
(1)GET /user/<name>,自行调用查询接口,查询指定名称<name>的用户;返回信息以json格式输出到控制台。
(2)POST /user/create,自行调用创建接口,创建名为chinaskill的用户,密码为123456,返回信息以json格式输出到控制台。
(3)DELETE /user/delete/<name>,自行调用删除接口,删除指定名称的用户,若删除成功,返回信息输出到控制台。
完成后提交OpenStack Python运维开辟环境 Controller节点的IP地点,用户名和密码到答题框。
【机器判分码】openstack/python/dev/user/flask/api

【标题】1.3.3 OpenStack 数据库操纵代码开辟[3.0分]

利用已建好的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表。
【机器判分码】openstack/python/dev/database/manage

【标题】1.3.4 OpenStack资源配额管理Placement下令行程序开辟[2.0分]

利用已建好的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”

【机器判分码】openstack/dev/python/placement/cli/manage

【任务】任务四、容器云服务搭建[5分]

【适用平台】私有云

【标题】2.1.1 部署Kubernetes容器云平台[1.0分]

利用已创建两台云主机,云主机范例利用4vCPU/12G/100G范例,分别作为Kubernetes集群的Master节点和node节点,然后完成Kubernetes集群部署。
完成后提交Master节点的用户名、密码和IP到答题框。
【机器判分码】kubernetes/cluster/installation/k8s

【标题】2.1.2 部署Harbor镜像仓库[1.0分]

在Kubernetes集群中完成Harbor镜像仓库部署。
完成后提交Master节点的用户名、密码和IP到答题框。
【机器判分码】kubernetes/cluster/installation/harbor

【标题】2.1.3 部署Istio服务网格[1.0分]

在Kubernetes集群中完成Istio服务网格组件部署。
完成后提交Master节点的用户名、密码和IP到答题框。
【机器判分码】kubernetes/cluster/installation/istio

【标题】2.1.4 部署kubeVirt 虚拟化组件[2.0分]

在Kubernetes集群中完成kubeVirt虚拟化组件部署。
完成后提交Master节点的用户名、密码和IP到答题框。
【机器判分码】kubernetes/cluster/installation/kubevirt

【任务】任务五、容器云服务运维[15分]

【适用平台】私有云

【标题】2.2.1 容器化部署Node-Exporter[1.0分]

编写Dockerfile文件构建exporter镜像,要求基于centos完成Node-Exporter服务的安装与配置,并设置服务开机自启。
编写Dockerfile构建monitor-exporter:v1.0镜像,具体要求如下:(需要用到的软件包:Monitor.tar.gz)
(1)底子镜像:centos:centos7.9.2009;
(2)利用二进制包node_exporter-0.18.1.linux-amd64.tar.gz安装node-exporter服务;
(3)声明端口:9100;
(4)设置服务开机自启。
完成后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】docker/prometheus/monitor-exporter/dockerfile/create

【标题】2.2.2容器化部署Alertmanager [1.0分]

编写Dockerfile文件构建alert镜像,要求基于centos:latest完成Alertmanager服务的安装与配置,并设置服务开机自启。
编写Dockerfile构建monitor-alert:v1.0镜像,具体要求如下:(需要用到的软件包:Monitor.tar.gz)
(1)底子镜像:centos:centos7.9.2009;
(2)利用二进制包alertmanager-0.19.0.linux-amd64.tar.gz安装Alertmanager服务;
(3)声明端口:9093、9094;
(4)设置服务开机自启。
完成后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】docker/prometheus/alertmanager/dockerfile/create

【标题】2.2.3 容器化部署Grafana[1.0分]

编写Dockerfile文件构建grafana镜像,要求基于centos完成Grafana服务的安装与配置,并设置服务开机自启。
编写Dockerfile构建monitor-grafana:v1.0镜像,具体要求如下:(需要用到的软件包:Monitor.tar.gz)
(1)底子镜像:centos:centos7.9.2009;
(2)利用二进制包grafana-6.4.1.linux-amd64.tar.gz安装grafana服务;
(3)声明端口:3000;
(4)设置nacos服务开机自启。
完成后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】docker/prometheus/grafana/dockerfile/create

【标题】2.2.4 容器化部署Prometheus[1.0分]

编写Dockerfile文件构建prometheus镜像,要求基于centos完成Promethues服务的安装与配置,并设置服务开机自启。
编写Dockerfile构建monitor-prometheus:v1.0镜像,具体要求如下:(需要用到的软件包:Monitor.tar.gz)
(1)底子镜像:centos:centos7.9.2009;
(2)利用二进制包prometheus-2.13.0.linux-amd64.tar.gz安装promethues服务;
(3)编辑/data/prometheus/prometheus.yml文件,创建3个任务模板:prometheus、node和alertmanager,并将该文件拷贝到/data/prometheus/目次下;
(4)声明端口:9090;
(5)设置服务开机自启。
完成后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】docker/prometheus/prometheus/docker/dockerfile/create

【标题】2.2.5 编排部署监控系统[1.0分]

编写docker-compose.yaml文件,利用镜像exporter、alert、grafana和prometheus完成监控系统的编排部署。
编写docker-compose.yaml文件,具体要求如下:
(1)容器1名称:monitor-node;镜像:monitor-exporter:v1.0;端口映射:9100:9100;
(2)容器2名称:monitor- alertmanager;镜像:monitor-alert:v1.0;端口映射:9093:9093、9094:9094;
(3)容器3名称:monitor-grafana;镜像:monitor-grafana:v1.0;端口映射:3000:3000;
(4)容器4名称:monitor-prometheus;镜像:monitor-prometheus:v1.0;端口映射:9090:9090。
完成后编排部署监控系统,将Prometheus设置为Grafana的数据源,并命名为Prometheus。然后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】docker/prometheus/prometheus/docker/compose/create

【标题】2.2.6 部署GitLab [1.0分]

将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-Runners-demo2048.tar.gz)
【机器判分码】kubernetes/cicd/gitlab-runner/gitlab/install

【标题】2.2.7 部署GitLab Runner [1.0分]

将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-Runners-demo2048.tar.gz)
【机器判分码】kubernetes/cicd/gitlab-runner/gitlab-runner/install

【标题】2.2.8 部署GitLab Agent [2.0分]

将Kubernetes集群添加到GitLab项目中指定名称和命名空间。
将Kubernetes集群添加到demo-2048项目中,并命名为kubernetes-agent,项目命名空间选择gitlab-ci。
完成后提交Master节点的用户名、密码和IP地点到答题框。(需要用到的软件包:CICD-Runners-demo2048.tar.gz)
【机器判分码】kubernetes/cicd/gitlab-runner/project/demo-2048

【标题】2.2.9 构建CI/CD [2.0分]

编写流水线脚本触发主动构建,要求基于GitLab项目完成代码的编译、镜像的构建与推送,并主动发布应用到Kubernetes集群中。
编写流水线脚本.gitlab-ci.yml触发主动构建,具体要求如下:
(1)基于镜像maven:3.6-jdk-8构建项目的drone分支;
(2)构建镜像的名称:demo:latest;
(3)将镜像推送到Harbor仓库demo项目中;
(4)将demo-2048应用主动发布到Kubernetes集群gitlab-ci命名空间下。
完成后提交Master节点的用户名、密码和IP地点到答题框。(需要用到的软件包:CICD-Runners-demo2048.tar.gz)
【机器判分码】kubernetes/cicd/gitlab-runner/pipeline/create

【标题】2.2.10 KubeVirt运维:DNS记载[2.0分]

在chinaskills命名空间下,利用镜像fedora-virt:v1.0创建一个VirtualMachineInstance,名称为vmi-dns,并为其创建唯一的DNS记载,其中主机名为“1cloud”,子域名为“chinaskills”,root用户的登录密码为“YDY@2024”。
完成后提交master节点的IP地点、用户名和密码到答题框。
【机器判分码】kubernetes/kubevirt/create/vmi/vmi-dns

【标题】2.2.11 iptables防火墙配置[2.0分]

为了系统的安全,在master节点上设置以下iptables防火墙规则:
1. 允许那些已经建立毗连大概与已建立毗连相干的入站网络流量访问本机。
2. 开放SSH 服务(对应端口 22)的对外访问权限。
3. 开放MySQL 数据库服务(对应端口 3306)的对外访问权限。
4. 丢弃来自 100.45.6.0/24 网段且进入本机的网络流量,插入到INPUT链第2个位置,保障系统免受该网段潜在威胁。
5. 通过“目的地点转换”规则,实现将访问旧服务器(IP 为 192.168.1.10,端口 80)的流量转发到新服务器(IP 为 192.168.1.20,端口 8080)上。
6. 将本机往 100.168.1.0/24 网段的网络流量直接丢弃,防止本机被“肉鸡”控制。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】/linux/iptables/setting6

【任务】任务六、容器云运维开辟[10分]

【适用平台】私有云

【标题】2.3.1 管理service资源[2.0分]

Kubernetes Python运维脚本开辟,利用Restful APIs方式管理service服务。
利用已经部署完成的Kubernetes两节点云平台,在Master节点安装Python 3.7.3的运行环境与依赖库。
利用python request库和Kubernetes Restful APIs,在/root目次下,创建api_manager_service.py文件,要求编写python代码,代码实现以下任务:
(1)起首查询查询服务service,如果service名称“nginx-svc”已经存在,先删除。
(2)如果不存在“nginx-svc”,则利用service.yaml文件创建服务。
(3)创建完成后,查询该服务的信息,查询的body部门以json格式的文件输出到当前目次下的service_api_dev.json文件中。
(4)然后利用service_update.yaml更新服务端口。
(5)完成更新后,查询该服务的信息,信息通过控制台输出,并通过json格式追加到service_api_dev.json文件后。
编写完成后,提交该云主机的用户名、密码和IP地点到答题框。
【机器判分码】kubernetes/dev/python/service/restful/manage

【标题】2.3.2 管理Pod服务[2.0分]

Kubernetes Python运维脚本开辟-利用SDK方式,通过Deployment管理Pod服务。
在前面已建好的Kubernetes开辟环境云平台上。利用Kubernetes python SDK的“kubernetes”Python库,在/root目次下,创建sdk_manager_deployment.py文件,要求编写python代码,代码实现以下任务:
(1)起首利用nginx-deployment.yaml文件创建deployment资源。
(2)创建完成后,查询该服务的信息,查询的body部门通过控制台输出,并以json格式的文件输出到当前目次下的deployment_sdk_dev.json文件中。
编写完成后,提交该云主机的用户名、密码和IP地点到答题框。
【机器判分码】kubernetes/dev/python/deployment/create

【标题】2.3.3 通过Docker Restful API 实现容器创建 [4.0分]


Docker容器运维脚本开辟,利用Restful APIs方式管理Docker容器服务。
在前面已建好的Kubernetes开辟环境云平台上。利用python request库,自行开启Docker REST API端口,端口号为2375,在/root目次下,创建api_docker_manager.py文件,要求编写python代码,代码实现以下任务:
(1)利用提供的nginx:latest镜像创建容器,容器主机名为chinaskills-nginx,开机自启动,声明端口为8010,标签为chinaskill: nginx,网络模式选择bridge;
(2)创建完成之后,查询该容器的信息,查询的body部门通过控制台输出,并以json格式的文件输出到当前目次下的api_containers.json文件中;
完成后提交Master节点的用户名、密码和IP地点到答题框。
【机器判分码】kubernetes/dev/python/docker/restful/manage

【标题】2.3.4 Kubernetes CRD自定义资源的管理封装[2.0分]

在前面已建好的Kubernetes开辟环境云平台上。Kubernetes容器云平台通过CRD机制举行自定义APIs资源拓展,将chinaskill-cloud-*.yaml共5个文件复制到root目次下。参考chinaskill-cloud-11.yaml文件,编写CRD文件“chinaskill-cloud-crd.yaml”,放在root目次下。
说明:Competition CRD命名要求如下:
Kind为 Competition
Plural为competitions
singular为competition
shortNames为cpt
session寄义是赛程
content寄义为竞赛内容。
利用已建好的Kubernetes Python运维开辟环境,在/root目次下创建crd _manager.py脚本。crd_manager.py编写基于Kubernetes SDK 实现Competition CRD的创建、删除与事件厘革监听。
crd_manager.py内部实现3个方法:
crd_manager.py内部实现3个方法:
(1)实现方法create_crd(),实现对Competition CRD的创建。
(2)实现方法delete_crd(),实现对Competition CRD的删除。
(3)实现方法watch_crd_object(),实现对CRD资源的厘革事件监听,将监听到Competition CRD被删除,将event信息输出到控制台,并停止监听。
【机器判分码】kubernetes/dev/python/crd/create

【场次名称】第场:模块三 公有云

【任务】任务、公有云服务搭建[5分]

【适用平台】华为云
【标题】3.1.1 私有网络管理[1.0分]

在公有云中完成虚拟私有云的创建。
具体要求如下:
(1)在北京四地域举行创建操纵;
(2)创建一个账户名以“intnetX-”加选手的IAM账户序号(如“intnetX-999”)的内部网络:IP地点为172.16.0.0/16;
(3)创建子网名称为intnetX-server:IP地点为172.16.1.0/24;
(4)创建子网名称为intnetX-mysql:IP地点为172.16.2.0/24;
完成创建后,提交当前的AK(SecretId)、SK(SecretKey)和intnetX网络的ID到答题框。
【机器判分码】huaweicloud/vpc/create

【标题】3.1.2云实例管理[1.0分]

登录华为云平台,创建两台云实例。
具体要求如下:
(1)计费模式:按需计费;
(2)地域:北京四;
(3)CPU架构:x86盘算;
(4)规格:c7.xlarge.2;
(5)镜像:CentOS 7.5 64位;
(6)系统盘:高IO 50G硬盘;
(7)公网带宽:按带宽计费,5Mbps;
(8)实例名称:ChinaSkill-node-1、ChinaSkill-node-2;
(9)登录方式:利用密码登录,密码自定义。
创建完成后,提交当前的AK(SecretId)、SK(SecretKey)和ChinaSkill-node-1的实例ID到答题框。
【机器判分码】huaweicloud/ecs/create

【标题】3.1.3云数据库管理[1.0分]

创建一台云数据库,具体要求如下:
(1)计费模式:按需计费;
(2)地域:北京四;
(3)MySQL数据库版本: 5.7;
(4)实例范例:主备;
(5)实例规格:通用型2核8GB/40GB;
(6)虚拟私有云:net-mysql;
(7)字符集:UTF8;
(8)端口:3306;
(9)数据库密码:Root123456;
(10)数据库名称:chinaskill-mysql;
创建完成后,提交你当前的AK(SecretId)、SK(SecretKey)和云数据库的实例ID到答题框。
【机器判分码】huaweicloud/db/mysql/create

【标题】3.1.4 WordPress上云[1.0分]

自行购买一台云服务器,利用http服务中提供的软件包wordpress-5.0.2-zh_CN.tar.gz,部署LNMP+WordPress服务(LNMP服务自行安装)。利用云数据库chinaskill-mysql读写分离地点。完成WordPress系统上云后,将ChinaSkill-node-1节点的用户名、密码和公网IP到答题框。
【机器判分码】huaweicloud/application/wordpress

【标题】3.1.5安全组管理[1.0分]

根据要求,创建一个安全组。
具体要求如下:
(1)名称:intnetX-security;
(2)地域:北京四;
(3)允许策略:只放行源地点为172.16.1.0/24访问27017端口;
(4)允许策略:只放行源地点为172.16.1.0/24利用ping下令访问;
(5)关联实例:将intnetX-security安全组关联至所创建的数据库中;
创建完成后,提交当前的AK(SecretId)、SK(SecretKey)和安全组ID到答题框。
【机器判分码】huaweicloud/vpc/secure/group/create

【任务】任务、公有云服务运维[10分]

【适用平台】华为云
【标题】3.2.1云容器引擎[2.0分]

在公有云上,按照要求创建一个x86架构的容器云集群(无需选择可观测性插件)。
具体要求如下:
(1)集群名称:以“kcloud-”加选手的IAM账户序号(如“kcloud-999”);
(2)集群范例:CCE Standard集群;
(3)集群版本:v1.28;
(4)地域:北京四;
(5)集群管理规模:50节点;
(6)节点利用子网:intnetX-server;
(7)节点预留容器IP上限:64;
(8)容器网段:10.10.0.0/16。
(9)取消选择可观测性插件。
创建一个集群节点池,节点池配置信息要求如下:
(1)节点池名称:利用默认名称即可;
(2)节点池盼望初始节点数量为1;
(3)节点规格:c6s.xlarge.2
(4)节点操纵系统:EulerOS 2.9
创建完成后提交当前的AK(SecretId)、SK(SecretKey)和集群的ID到答题框。
【机器判分码】huaweicloud/cce/create

【标题】3.2.2利用kubectl操纵集群[2.0分]

在CCE云容器引擎集群中安装kubectl下令,利用kubectl下令管理CCE云容器引擎集群。
完成后提交毗连CCE云容器引擎集群节点的用户名、密码和公网IP地点到答题框。
【机器判分码】huaweicloud/cce/kubectl/install

【标题】3.2.3安装helm[3.0分]

利用提供的Helm软件包,在kcloud集群中安装Helm服务。
利用提供的helm软件包(软件包为helm-v3.3.0-linux-amd64.tar.gz在http服务下),在kcloud集群中安装helm服务。完成后提交毗连kcloud集群节点的用户名、密码和公网IP地点到答题框。
【机器判分码】huaweicloud/cce/helm/install

【标题】3.2.4 Pod管理:单容器[3.0分]

在kcloud集群节点/root目次下,编写YAML文件nginx.yaml,具体要求如下:
(1)Pod名称:nginx-pod;
(2)命名空间:default;
(3)容器名称:mynginx;
(4)镜像:nginx;拉取策略:IfNotPresent;
(5)容器端口:80。
完成后利用该YAML文件创建Pod,并提交master节点的用户名、密码和IP到答题框。
【机器判分码】huaweicloud/cce/pod/mynginx
【任务】任务三、公有云运维开辟 [10分]

【适用平台】华为云
【标题】3.3.1 python环境准备[3.0分]

通过华为云控制台,选择北京四地域,创建一台x86架构云主机,按需计费的2核,4G,硬盘50G的云实例,实例名为ChinaSkill,选择镜像为CentOS 7.5 64bit(40GB),分配独立的公网IP,带宽选择按利用流量计费5M。
登录此云服务器,安装Python3.6.8 SDK,安装Python安装huaweicloud-sdk-python库。完成后提交服务器节点的用户名、密码和IP地点到答题框。
【机器判分码】huaweicloud/python/pip/install/huaweicloud-sdk-python

【标题】3.3.2 Python运维开辟:云主机管理[3.0分]

调用SDK云主机管理的方法,实现云主机的的增删查改。
利用已建好的运维开辟环境,在/root/huawei目次下创建ecs_manager.py脚本,完成ECS云主机管理,ecs_manager.py程序支持下令行参数执行。
提示说明:在华为云控制面板“企业\项目管理”菜单下,获取IAM账户的企业项目“ID”,该ID为IAM账号开辟“enterprise_project_id”的值。提交前答案前,需安装所开辟程序所依赖的Python库。

要求如下:
(1)程序支持根据下令行参数,创建1个云主机。
位置参数“create”,表示创建;
参数“-i 或--input”,格式为json格式文本的云主机的名称、镜像名称2个信息。其他参数同上述开辟环境云主机同等。
创建待成功,再返回查询该云主机的信息,结果以json格式输出到控制台。
参考执行实例如下:
python3 /root/huawei/ecs_manager.py create --input '{ "name": " chinaskill001", " imagename": "imageid"} '
(2)支持查询给定具体名称的ECS云主机查询。
位置参数“get”,表示查询ECS;
参数“-n 或 --name”支持指定名称ECS查询,范例为string。
参数“-o 或 --output”支持查询该ECS信息输出到文件,格式为json格式。
(3)程序支持查询现在地域账号下所有的ECS云主机。
位置参数“getall”,表示查询所有ECS云主机;
参数“-o 或--output”支持输出到文件,格式为yaml格式。
(4)支持删除指定名称的云主机。
位置参数“delete”,表示删除一个ECS云主机;返回response,通过控制台输出。
参数“-n或--name”支持指定名称查询,范例为string。
完成后提交“chinaskill开辟运行环境云主机”的用户名、密码和 IP 地点到答题框。

【机器判分码】huaweicloud/python/ecs/create

【标题】3.3.3 Python运维开辟:云服务器组管理[4.0分]

在开辟环境云服务器的/root/huawei目次下,编写create_server_group.py文件,创建华为云的云服务器组,具体要求为:
(1)云服务器组名称:chinaskills_server_group;
(2)云服务器组策略:反亲和性;
(3)如果安全组已经存在,代码中需要先删除;
(4)利用其源码的get方法输出此云服务器组的详细信息。
完成后提交云服务器节点的用户名、密码和IP地点到答题框。
【机器判分码】huaweicloud/python/ecs-group/create

【任务】任务四、边沿盘算系统运维[10分]

【适用平台】私有云
【标题】3.4.1 云端部署[5.0]

利用华为云k8s-allinone-v1.22.1.qcow2镜像创建云主机(该镜像启动后内置一个完备的kubernetes服务,登录账号root,密码为Abc@1234),该云主机作为KubeEdge的云端Kubernetes 1.22节点。
然后下载软件包kubernetes_kubeedge.tar.gz到云端节点并部署KubeEdge1.11边沿盘算系统,在云端节点部署KubeEdge cloudcore云端模块、启动cloudcore服务并配置该服务可被systemd管理。完成后提交云端节点的IP地点、用户名和密码到答题框。
【机器判分码】kubeedge/cloudcore/install
【标题】3.4.2 边端部署 [5.0]

利用华为云上申请2台CentOS7.9的云主机,主机名分别为edge-node1、edge-node2。在http文件服务器中下载kubernetes_kubeedge.tar.gz软件包,利用该软件包在该虚拟机部署KubeEdge edgecore边端模块,并启动edgecore服务。加入成功之后,启用metrics监控服务。
完成后提交云端节点的IP地点、用户名和密码到答题框。
【机器判分码】kubeedge/edgecore/install

【任务】任务五、边沿盘算云应用开辟[5分]

【适用平台】私有云
【标题】3.5.1 FastAPI 哀求接口开辟[2.0]

利用搭建好的边沿盘算平台,利用提供的python3.7.3.tar.gz软件包安装Python 3.7.3开辟环境,基于FastAPI框架,编写cloudapp_main.py代码实现一组API,服务端口为8010,host为0.0.0.0,具体要求如下:
(1)定义接口/items/{item_id},哀求为GET,该接口担当一个参数item_id,而且为int范例,该接口有一个可选的str查询参数,查询参数名为query,在调用该接口时,返回的数据为JSON数据;
(2)定义接口/hello,哀求为GET,在调用该接口时,返回数据格式为JSON数据,内容为{"Hello": "World"};
(3)定义更新PUT哀求,接口名为/items/{item_id};
(4)定义哀求体模型,模型参数包括name,age;
(5)编写代码,从更新接口中接收哀求体模型,在调用接口时,数据格式为JSON格式,返回内容为模型中定义的名字和路径参数;
(6)将cloudapp_main.py代码放在root目次下,自行手动启动服务。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】kubeedge/python/dev/fastapi/item/service
【标题】3.5.2 FastAPI 文件上传接口开辟[3.0]

利用搭建Python 3.7.3的开辟环境,基于FastAPI框架,编写cloudapp_file.py代码实现文件上传接口,服务端口为8000,host为0.0.0.0,具体要求如下:
(1)上传接口名称为“upload”,参数名称为“file_yaml”;
(2)上传的文件格式为yaml,读取该文件内容,转换成JSON格式;
(3)接口返反相应信息为JSON格式,字段包罗文件名称、文件巨细与文件内容。格式如下:
{"filename": 读到的yaml文件实际名称;
"filesize": 读到的yaml文件实际巨细;
"content": 读到文件内容,转换为json格式后内容};
(4)将chinaskill-cloud-*.yaml共5个文件复制到root目次下。
(6)将cloudapp_main.py代码放在root目次下,自行手动启动服务。
完成后提交控制节点的用户名、密码和IP地点到答题框。
【机器判分码】kubeedge/python/dev/fastapi/fileupload/service




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表