#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
#需要资源(软件包及镜像)或有问题的,可私聊博主!!!
【赛程名称】云计算赛项第一场-私有云
某企业拟使用OpenStack 搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。
系统架构如图 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 使用 |
说明:
- 竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源配额相同,选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题;
- 表中的 x 为工位号;在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
- 根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
- 考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
- 竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,请确认自己的 IP 地址,用户名和密码。
【任务 1】私有云服务搭建[10 分]
【适用平台】私有云
【题目 1】基础环境配置[0.5 分]
使用提供的用户名密码,登录提供的 OpenStack 私有云平台,在当前租户下,使用 CentOS7.9 镜像,创建两台云主机,云主机类型使用 4vCPU/12G/100G_50G 类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至 controller 和 compute 节点(第二张网卡的网段为 10.10.X.0/24,X 为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与 ssh 连接,然后按以下要求配置服务器:
(1) 设置控制节点主机名为 controller,设置计算节点主机名为 compute;
(2) 修改hosts 文件将 IP 地址映射为主机名;
完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
查看控制节点名字为 controller 正确计 0.2 分
-
查看 hosts 文件中有正确的主机名和 IP 映射计 0.2 分
-
控制节点正确使用两块网卡计 0.1 分
【题目 2】Yum 源配置[0.5 分]
使用提供的 http 服务地址,在 http 服务下,存在 centos7.9 和 iaas 的网络 yum 源,使用该 http 源作为安装 iaas 平台的网络源。分别设置 controller 节点和 compute 节点的 yum 源文件 http.repo。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.查看/etc/yum.repos.d/http.repo 文件,有正确的 baseurl 路径,计 0.5 分
【题目 3】配置无秘钥 ssh[0.5 分]
配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute节点的 hostname 进行测试。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
1.查看控制节点允许计算节点无秘钥登录计 0.5 分
【题目 4】基础安装[0.5 分]
在控制节点和计算节点上分别安装 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 地址到答题框。
1.检查环境变量文件配置正确计 0.5 分
【题目 5】数据库安装与调优[0.5 分]
在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、RabbitMQ等服务。安装服务完毕后,修改/etc/my.cnf 文件,完成下列要求:
-
设置数据库支持大小写;
-
设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
-
设置数据库的 log buffer 为 64MB;
-
设置数据库的 redo log 大小为 256MB;
-
设置数据库的 redo log 文件组为 2。
完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查数据库配置正确计 0.5 分
【题目 6】Keystone 服务安装与使用[0.5 分]
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后,使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
检查 keystone 服务安装正确计 0.2 分
-
检查chinaskill 用户创建正确计 0.3 分
【题目 7】Glance 安装与使用[0.5 分]
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台,命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
检查glance 服务安装正确计 0.1 分
-
检查cirros 镜像最小启动硬盘与内存配置正确计 0.4 分
【题目 8】Nova 安装与优化[0.5 分]
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装Nova 服务。安装完成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不到 IP 地址而报错失败的问题。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
1.检查nova 服务解决超时问题配置正确计 0.5 分
【题目 9】Neutron 安装[0.5 分]
使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron-compute.sh,在 controller 和 compute 节点上安装 neutron 服务。完成后提交控制节点的用户名、密码和 IP地址到答题框。
-
检查neutron 服务安装正确计 0.2 分
-
检查neutron 服务的 linuxbridge 网桥服务启动正确计 0.3 分
【题目 10】Doshboard 安装[0.5 分]
在controller 节点上使用iaas-install-dashboad.sh 脚本安装dashboad 服务。安装完成后,将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其他云平台 Dashboard 不能访问的问题)。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
检查Dashboard 服务安装正确计 0.2 分
-
检查Dashboard 服务中Djingo 数据修改为存储在文件中配置正确计 0.3 分
【题目 11】Swift 安装[0.5 分]
在 控 制 节 点 和 计 算 节 点 上 分 别 使 用 iaas-install-swift-controller.sh 和 iaas-install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫 examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并设置分段存放,每一段大小为 10M。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
检查 swift 服务安装正确计 0.3 分
-
分段上传cirros 镜像正确计 0.2 分
【题目 12】Cinder 创建硬盘[0.5 分]
在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、 iaas-install-cinder-compute.sh 脚本安装Cinder 服务,请在计算节点,对块存储进行扩容操作,即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。完成后提交计算节点的用户名、密码和 IP 地址到答题框。
1.检查cinder 后端存储扩容成功计 0.5 分
【题目 13】Manila 服务安装与使用[0.5 分]
在 控 制 和 计 算 节 点 上 分 别 使 用 iaas-install-manila-controller.sh 和 iaas-install-manila-compute.sh 脚本安装 manila 服务。安装服务后创建 default_share_type 共享类型(不使用驱动程序支持),接着创建一个大小为 2G 的共享存储名为 share01 并开放 share01 目录对 OpenStack 管理网段使用权限。最后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查 share01 共享存储正确创建并赋予权限计0.5 分
【题目 14】Barbican 服务安装与使用[0.5 分]
使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack命令创建一个名为 secret01 的密钥,创建完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查 secret01 密钥创建正确计 0.5 分
【题目 15】Cloudkitty 服务安装与使用[1 分]
使用 iaas-install-cloudkitty.sh 脚本安装cloudkitty 服务,安装完毕后,启用 hashmap 评级模块,接着创建 volume_thresholds 组,创建服务匹配规则 volume.size,并设置每 GB 的价格为 0.01。接下来对应大量数据设置应用折扣,在组 volume_thresholds 中创建阈值,设置若超过 50GB 的阈值,应用 2%的折扣(0.98)。设置完成后提交控制节点的用户名、密码和 IP 地址到答题框。
-
检查 hashmap 评级模块启用成功计 0.2 分
-
检查服务匹配规则volume.size 创建成功 0.8 分
【题目 16】OpenStack 平台内存优化[0.5 分]
搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查系统内存优化成功计 0.5 分
【题目 17】修改文件句柄数[0.5 分]
Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
1.检查配置 linux 系统句柄数为 65535 成功计 0.5 分
【题目 18】Linux 系统调优-防止SYN 攻击[1 分]
修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
1.检查开启SYN cookie 配置计 1 分
【任务 2】私有云服务运维[10 分]
【适用平台】私有云
【题目 1】OpenStack 开放镜像权限[0.5 分]
使用 OpenStack 私 有 云 平 台 , 在 OpenStack 平台的 admin 项 目 中 使 用cirros-0.3.4-x86_64-disk.img 镜像文件创建名为glance-cirros 的镜像,通过OpenStack 命令将 glance-cirros 镜像指定 demo 项目进行共享使用。配置完成后提交controller 点的用户名、密码和 IP 地址到答题框。
1.检查glance-cirros 镜像权限开放正确计 0.5 分
【题目 2】OpenStack 消息队列调优[0.5 分]
OpenStack 各服务内部通信都是通过 RPC 来交互,各 agent 都需要去连接 RabbitMQ;随着各服务 agent 增多,MQ 的连接数会随之增多,最终可能会到达上限,成为瓶颈。使用自行搭建的OpenStack 私有云平台,分别通过用户级别、系统级别、配置文件来设置RabbitMQ服务的最大连接数为 10240,配置完成后提交修改节点的用户名、密码和 IP 地址到答题框。
1.检查 rabbitmq 服务最大连接数正确计 0.5 分
【题目 3】OpenStack Glance 镜像压缩[0.5 分]
使用自行搭建的 OpenStack 平台。在 HTTP 服务中存在一个镜像为CentOS7.5-compress.qcow2 的镜像,请使用 qemu 相关命令,对该镜像进行压缩,压缩后的镜像命名为chinaskill-js-compress.qcow2 并存放在/root 目录下。完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
1.检查镜像压缩正确计 0.5 分
【题目 4】glance 对接 cinder 后端存储[0.5 分]
在自行搭建的OpenStack 平台中修改相关参数,使glance 可以使用cinder 作为后端存储,将镜像存储于cinder 卷中。使用 cirros-0.3.4-x86_64-disk.img 文件创建 cirros-image 镜像存储于 cirros-cinder 卷中,通过 cirros-image 镜像使用 cinder 卷启动盘的方式进行创建虚拟机。完成后提交修改节点的用户名、密码和 IP 地址到答题框。
1.检查修改glance 后端存储为 cinder 正确计 0.5 分
【题目 5】OpenStack Heat 运维:创建容器[0.5 分]
在自行搭建的 OpenStack 私 有 云 平 台 上 , 在 /root 目录下编写 Heat 模板 create_container.yaml,要求执行 yaml 文件可以创建名为 heat-swift 的容器。完成后提交控制节点的用户名、密码和 IP 地址到答题框。(在提交信息前请准备好 yaml 模板执行的环境)
1.执行heat 模板文件成功创建容器计 0.5 分
【题目 6】OpenStack Nova 清除缓存[0.5 分]
在 OpenStack 平台的一台计算节点创建虚拟机,若是第一次在该节点创建次虚拟机,会先将镜像文件复制到该计算节点目录/var/lib/nova/instances/_base。长期下来,该目录会占用比较大的磁盘空间而要清理。可以通过修改 nova 的配置文件来自动清理该缓存目录,即在该节点没有使用某镜像启动的云主机,那么这个镜像在过一定的时间后会被自动删除。配置完成后提交改动节点的用户名、密码和 IP 地址到答题框。
1.检查nova 配置自动清理缓存文件正确计 0.5 分
【题目 7】Redis 一主二从三哨兵模式[1 分]
使用提供的 OpenStack 私有云平台,申请三台 CentOS7.9 系统的云主机,使用提供的 http 源,在三个节点自行安装 Redis 服务并启动,配置 Redis 的访问需要密码,密码设置为 123456。然后将这三个 Redis 节点配置为 Redis 的一主二从三哨兵架构,即一个 Redis 主节点,两个从节点,三个节点均为哨兵节点。配置完成后提交Redis 主节点的用户名、密码和 IP 地址到答题框。
-
检查 redis 主从集群部署正确计 0.5 分
-
检查 redis 集群部署为哨兵节点正确计 0.5 分
【题目 8】Redis 服务调优-AOF[1 分]
使用上一题安装的Redis 服务。在 Redis 中,AOF 配置为以三种不同的方式在磁盘上执行 write 或者 fsync。假设当前 Redis 压力过大,请配置 Redis 不执行 fsync。除此之外,避免 AOF 文件过大,Redis 会进行 AOF 重写,生成缩小的 AOF 文件。请修改配置,让 AOF 重写时,不进行fsync 操作。配置完成后提交 Redis 节点的用户名、密码和 IP 地址到答题框。
-
检查配置 redis 不执行 fsync 正确计 0.5 分、
-
检查配置 redis 进行 AOF 重写不执行 fsync 正确计 0.5 分
【题目 9】应用部署:堡垒机部署[0.5 分]
使用提供的 OpenStack 平台申请一台 CentOS7.9 的云主机,使用提供的软件包安装 JumpServer 堡垒机服务,并配置使用该堡垒机对接自己安装的 controller 和 compute 节点。完成后提交JumpServer 节点的用户名、密码和 IP 地址到答题框。
1.检查堡垒机部署正确计 0.5 分
【题目 10】skywalking 服务部署与应用[1 分]
使用提供的 OpenStack 私有云平台,申请一台 centos7.9 系统的云主机,使用提供的软 件包安装 Elasticsearch 服务和 skywalking 服务,将 skywalking 的 UI 访问端口修改为 8888。接下来再申请一台CentOS7.9 的云主机,用于搭建gpmall 商城应用,并配置SkyWalking Agent,将 gpmall 的 jar 包放置探针并启动。安装与配置完成后提交 skywalking 节点的用户名、密码和 IP 地址到答题框。
1.检查 skywalking 服务部署正确计 1 分
【题目 11】Linux 内核优化[1 分]
在使用 Linux 服务器的时候,TCP 协议规定,对于已经建立的连接,网络双方要进行四次挥手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。因为服务器程序要同时管理大量连接,所以很有必要保证无用的连接完全断开,否则大量僵死的连接会浪费许多服务器资源。创建一台 CentOS7.9 云主机,修改相应的配置文件,分别开启 SYN Cookies;允许将 TIME-WAIT sockets 重新用于新的 TCP连接;开启TCP 连接中 TIME-WAIT sockets 的快速回收;修改系統默认的 TIMEOUT 时间为 30。完成后提交修改节点的用户名、密码和 IP 地址到答题框。
1.检查内核优化正确计 1 分
【题目 12】排错:Glance 服务排错[1 分]
使用赛项提供的 chinaskill-error1 镜像启动云主机,flavor 使用 4vcpu/12G 内存/100G 硬盘。启动后存在错误的私有云平台,错误现象为查看不到 image 列表,试根据错误信息排查云平台错误,使云平台可以查询到 image 信息。完成后提交云主机节点的用户名、密码和 IP地址到答题框。
1.检查错误镜像glance 服务启动正确计 1 分
【题目 13】排错:数据库排错[1.5 分]
使用赛项提供的排错镜像 chinaskill-error2 创建一台云主机(云主机的登录用户名为 root,密码为 000000),该云主机中存在错误的数据库服务,错误现象为数据库服务无法启动。 请将数据库服务修复并启动,将数据库的密码修改为 chinaskill123。修复完成后提交该云主机的用户名、密码和 IP 地址到答题框。
1.检查错误镜像数据库服务启动正确计 1.5 分
【任务 3】私有云运维开发[10 分]
【适用平台】私有云
【题目 1】Ansible 服务部署:部署 MariaDB 集群[2 分]
使用OpenStack 私有云平台,创建 4 台系统为centos7.9 的云主机,其中一台作为 Ansible的母机并命名为 ansible,另外三台云主机命名为 node1、node2、node3;使用这一台母机,编写 Ansible 脚本(在/root 目录下创建 example 目录作为 Ansible 工作目录,部署的入口文件命名为 cscc_install.yaml ) , 对其他三台云主机进行安装高可用数据库集群(MariaDB_Galera_cluster,数据库密码设置为 123456)的操作(所需的安装包在 HTTP 服务中)。完成后提交 Ansible 节点的用户名、密码和 IP 地址到答题框。(考试系统会连接到你的Ansible 节点,去执行 Ansible 脚本,请准备好 Ansible 运行环境,以便考试系统访问)
-
执行yaml 文件正确计 0.5 分
-
检查数据库集群部署正确计 1 分
-
检查数据库集群数量为 3 正确计 0.5 分
【题目 2】Ansible 服务部署:部署ELK 集群服务[2 分]
使用赛项提供的OpenStack 私有云平台,创建三台 CentOS7.9 系统的云主机分别命名为 elk-1、elk-2 和elk-3,Ansible 主机可以使用上一题的环境。要求Ansible 节点编写剧本,执行 Ansible 剧本可以在这三个节点部署 ELK 集群服务(在/root 目录下创建 install_elk 目录作为 ansible 工作目录,部署的入口文件命名为 install_elk.yaml)。具体要求为三个节点均安装 Elasticserach 服务并配置为 Elasticserach 集群;kibana 安装在第一个节点;Logstash 安装在第二个节点。(需要用到的软件包在 HTTP 服务下)完成后提交 ansible 节点的用户名、密码和 IP 地址到答题框。(考试系统会连接到 ansible 节点,执行 ansible 脚本,准备好环境,以便考试系统访问)
-
执行yaml 文件正确计 0.5 分 2. 检查 ELK 服务部署正确计 1.5 分
【题目 3】Python 运维开发:基于OpenStack Restful API 实现镜像上传[1 分]
使用OpenStack all-in-one 镜像,创建 OpenStack Python 运维开发环境。云主机的用户/密码为:“root/Abc@1234”,OpenStack 的域名/账号/密码为:“demo/admin/000000”。
提示说明:python 脚本文件头建议加入“#encoding:utf-8”避免编码错误;测试脚本代码用 python3 命令执行与测试。
在 controller 节点的/root 目录下创建 api_image_manager.py 脚本,编写 python 代码对接 OpenStack API,完成镜像的创建与上传。创建之前查询是否存在“同名镜像”,如果存在先删除该镜像。
(1) 创建镜像:要求在 OpenStack 私有云平台中上传镜像 cirros-0.3.4-x86_64-disk.img,名字为 cirros001,disk_format 为 qcow2,container_format 为 bare。
(2) 查询镜像:查询 cirros001 的详细信息,并以 json 格式文本输出到控制台。
完成后提交 OpenStack Python 运维开发环境Controller 节点的 IP 地址,用户名和密码提交。
-
执行api_image_manager.py 脚本,成功创建镜像,计 0.5 分
-
检查镜像状态正确,计 0.5 分
【题目 4】Python 运维开发:基于 Openstack Python SDK 实现云主机创建[1 分]
使 用 已 建 好 的 OpenStack Python 运 维 开 发 环 境 ,在 /root 目 录 下 创 建 sdk_server_manager.py 脚本,使用python-openstacksdk Python 模块,完成云主机的创建和查询。创建之前查询是否存在“同名云主机”,如果存在先删除该镜像。
(1) 创建 1 台云主机:云主机信息如下:云主机名称如下:server001
镜像文件:cirros-0.3.4-x86_64-disk.img云主机类型:m1.tiny
网络等必要信息自己补充。
(2) 查询云主机:查询云主机 server001 的详细信息,并以 json 格式文本输出到控制台。
完成后提交 OpenStack Python 运维开发环境 Controller 节点的 IP 地址,用户名和密码提交。
-
执行 sdk_server_manager.py 脚本,成功创建云主机,计 0.5 分
-
检查创建的云主机状态正确,计 0.5 分
【题目 5】Python 运维开发:云主机类型管理的命令行工具开发[2 分]
使用已建好的 OpenStack Python 运维开发环境,在/root 目录下创建 flavor_manager.py
脚本,完成云主机类型的管理,flavor_manager.py 程序支持命令行参数执行。提示说明:Python 标准库 argparse 模块,可以提供命令行参数的解析。要求如下:
(1) 程序支持根据命令行参数,创建 1 个多云主机类型。返回 response。位置参数“create”,表示创建;
参数“-n”支持指定 flavor 名称,数据类型为字符串类型;参数“-m”支持指定内存大小,数据类型为 int,单位 M;参数“-v”支持指定虚拟 cpu 个数,数据类型为 int;
参数“-d”支持磁盘大小,内存大小类型为 int,单位 G;参数“-id”支持指定 ID,类型为字符串。
参考运行实例:
python3 flavor_manager.py create -n flavor_small -m 1024 -v 1 -d 10 -id 100000
(2) 程序支持查询目前 admin 账号下所有的云主机类型。位置参数“getall”,表示查询所有云主机类型;
查询结果,以 json 格式输出到控制台。参考执行实例如下:
python3 flavor_manager.py getall
(3) 支持查询给定具体名称的云主机类型查询。位置参数“get”,表示查询 1 个云主机类型; 参数“-id”支持指定 ID 查询,类型为string。控制台以 json 格式输出创建结果。
参考执行实例如下:
python3 flavor_manager.py get -id 100000
(4) 支持删除指定的 ID 云主机类型。
位置参数“delete”,表示删除一个云主机类型;
参数“-id”支持指定 ID 查询,返回 response,控制台输出 response。参考执行实例如下:
python3 flavor_manager.py delete -id 100001
-
执行 flavor_manager.py 脚本,指定 create 和配置参数,成功创建 1 个云主机类型,计 0.5分;
-
执行 flavor_manager.py 脚本,指定 getall 参数,成功查询所有云主机类型,计 0.5 分;
-
执行 flavor_manager.py 脚本,指定 get 和配置参数,成功查询具体名称的云主机类型,计0.5 分;
-
执行 flavor_manager.py 脚本,指定 delete 和配置参数,成功删除指定 ID 云主机类型,计0.5 分。
【题目 6】Python 运维开发:用户管理的命令行工具开发[2 分]
使用已建好的OpenStack Python 运维开发环境,在/root 目录下创建 user_manager.py 脚本,完成用户管理功能开发,user_manager.py 程序支持命令行带参数执行。
提示说明:Python 标准库 argparse 模块,可以提供命令行参数的解析。
(1) 程序支持根据命令行参数,创建 1 个用户。位置参数“create”,表示创建;
参数“-i 或--input”,格式为 json 格式文本用户数据。查询结果,以 json 格式输出到控制台。
参考执行实例如下:
python3 user_manager.py create --input '{ "name": "user01", "password": "000000", "description": "description" } '
(2) 支持查询给定具体名称的用户查询。
位置参数“get”,表示查询 1 个用户;
参数“-n 或 --name”支持指定名称查询,类型为 string。
参数“-o 或 output”支持查询该用户信息输出到文件,格式为json 格式。参考执行实例如下:
python3 user_manager.py get --name user01-o user.json
(3) 程序支持查询目前 admin 账号下所有的用户。位置参数“getall”,表示查询所有用户;
参数“-o 或--output”支持输出到文件,格式为 yaml 格式。参考执行实例如下:
python3 user_manager.py getall -o openstack_all_user.yaml
(4) 支持删除指定的名称的用户。
位置参数“delete”,表示删除一个用户;返回 response,通过控制台输出。参数“-n 或--name”支持指定名称查询,类型为 string。
参考执行实例如下:
python3 user_manager.py delete -name user01
-
执行user_manager.py 脚本,指定 create 和配置参数,成功创建 1 个用户,计 0.5 分;
-
执行user_manager.py 脚本,指定 get 和配置参数,成功查询具体名称的用户,计 0.5 分;
-
执行user_manager.py 脚本,指定 getall 和配置参数,成功查询 admin 账号下的所有用户,计 0.5 分;
-
执行user_manager.py 脚本,指定 delete 和配置参数,成功删除指定名称的用户,计 0.5 分。