前言:可以借着比赛的资源扩展自己的专业技能视野,虽然对于先电举办的这个比赛算不上什么好评,懂的人自然懂,但提供的一些知识资源基本算是当前比较流行的,只不过在比赛中用到的比较浅,自己可以有时间好好研究这些东西,对自己以后的工作面试有着很好的帮助

下面是视频讲解关于比赛的内容和脚本搭建openstack的过程。
先电云计算比赛脚本搭建openstack过程视频讲解链接
下面是视频讲解关于解答IAAS题目的视频讲解过程
先电云计算比赛IAAS题目做题技巧视频讲解链接


2019年省赛样卷试题+答案

第一部分 openstack搭建和运维

1.1 openstack搭建题目经验分享

openstack搭建题目不论是在省赛还是在国赛中都是比较简单的,可以说是必拿的分数。

  • 要熟练的能够搭建openstack平台,当然先电提供的是脚本安装,搭建起来很方便,但是如果要想真正的了解openstack,建议用命令行一点一点的手动搭建部署。
  • 比赛时间为4个小时,建议能够在20-25分钟内搭建完openstack,搭建完之后直接创建iaas-all镜像和两个大数据镜像(这时内存资源已占用满),开始做openstack运维题和大数据搭建和运维题目。

搭建之前的基本环境准备就不说了,直接说下脚本安装循序

1、controller节点和compute节点同时安装 iaas-pre-host.sh
2、controller节点安装 iaas-install-mysql.sh
3、controller节点安装 iaas-install-keystone.sh
#当controller节点的keystone装完之后就可以在compute节点安装nova-compute
4、controller节点安装 iaas-install-glance.sh
   compute节点安装 iaas-install-nova-compute.sh
5、controller节点安装 iaas-install-nova-controller.sh  
6、controller节点安装 iaas-install-neutron-controller.sh
7、compute节点安装 iaas-install-neutron-compute.sh
8、controller节点安装 iaas-install-neutron-controller-gre.sh
9、compute节点安装 install-neutron-compute-gre.sh
10、controller节点安装 iaas-install-dashboard.sh

主要注意下keystone和nova-compute安装的顺序就行了

下面在web界面配置的时候,可以同时在CRT界面上传所需要的镜像文件

  • 打开web界面登陆,配置内网、外网、路由、添加tcp、udp、icmp规则、添加iaas、docker、hadoop所需要的flovr类型

然后根据题目需求,选择安装cinder、swift、heat等组件
搭建题做完之后,注意要把controller节点的资源添加到云平台

#修改controller节点的openrc.sh文件
HOST_NAME_NODE=compute #改为HOST_NAME_NODE=controller
HOST_IP_NODE=192.168.100.20 #改为 HOST_IP_NODE=192.168.100.10

然后去web界面查看内存资源有没有增加到32G内存(我没记错的话是32G)

1.2 openstack运维题目经验分享

  • 运维题目可以在网上找一些样卷题库自己研究下,也可以私信我要往年的题库。要习惯用help查找相关命令,运维题基本用help都能查到用法,当然英语不能太烂,要最起码能猜出个大概意思。

  • 也没有什么好说的了,主要还是多找些题库刷题掌握解题思路。就像你做数学题一样,刷题才是王道。

  • 如果你有机会冲到国赛,将会见到排错题,我觉的排错题才是真正的题目,有挑战性,考研你的基础知识和实战思路。每一年的排错题都有新花样。

  • 做排错题的时候,要能快速定位到哪个服务出问题,通过日志排查,检查配置文件,数据库等等。下面大概讲个排错例题解题的思路,就能明白了。

  • (2018年国赛G卷题目)使用镜像iaas-error-520重建“iaas_all”云主机(账号:root 密码:000000)并排除重建过程中的错误。重建后的云主机内有错误的openstack平台,错误现象为无法获取镜像信息,试排错。排错完之后通过glance命令查询该镜像详细信息。依次将错误的信息、排错的操作命令及查询到的信息以文本形式提交到答题框。
    首先自己审查题目定位到无法获取镜像信息,这时候就要去重点排查一下glance

#首先glance image-list看一下报的什么错误
[root@xiandian ~]# glance image-list
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-d28eda24-16eb-413c-955c-8e415407fa27)
#请求被阻止 500一般是keystone的请求出现问题 去查看keystone的日志
#只贴部分日志内容
2019-04-16 17:16:28.884 4571 ERROR keystone.common.wsgi   File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 120, in raise_mysql_exception
2019-04-16 17:16:28.884 4571 ERROR keystone.common.wsgi     _check_mysql_exception(errinfo)
2019-04-16 17:16:28.884 4571 ERROR keystone.common.wsgi   File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 112, in _check_mysql_exception
2019-04-16 17:16:28.884 4571 ERROR keystone.common.wsgi     raise errorclass(errno, errorvalue)
2019-04-16 17:16:28.884 4571 ERROR keystone.common.wsgi OperationalError: (pymysql.err.OperationalError) (1040, u'Too many connections')
#可看到ERROR的信息都在提示pymysql的模块,最后一条更是明显 'too manyconnections' 连接超时
#OK 错误在一点一点的缩小,下面去看mysql的配置文件,记不记得mysql的配置文件有一个参数max_connections最大连接数
#去修改my.cnf 将max_connections修改为max_connections=1000
#然后重启mysql
[root@xiandian ~]# systemctl restart mariadb.service
#试试能不能查看镜像列表了
[root@xiandian ~]# glance image-list
+--------------------------------------+----------+
| ID                                   | Name     |
+--------------------------------------+----------+
| ea6ed9be-5f5b-40d2-b3a9-e3500b59a535 | xiandian |
+--------------------------------------+----------+ 

其实排错题思路基本就是这样,一点点的排查信息缩小错误范围,你要对openstack的组件之间请求要了解掌握,还有一些配置文件的参数要大概了解,一些常见的报错状态码要清楚,例如 500 404 300等等

所以前面说要会手工搭建openstack平台,手工的过程中你会遇到各种错误,然后去一点点的排查配置文件、日志等,这样就基本掌握了排错的思路。

第二部分 docker搭建和运维

2.1 docker搭建题目经验分享

当iaas-运维或大数据做完之后,就可以删除虚拟机,创建两个docker主机,开始做docker的题目了。

  • docker的搭建其实不难,题目一般也只有两题搭建题,一个平台搭建和一个模板部署。
  • 搭建过程中最麻烦的不过是push镜像,如果服务器慢的话,push镜像的时候真的想把服务器砸了。
  • 2019年新出了一个自定义模板的题目,需要的话可以去下载:
    2019年云计算题库解读
#可以先load,然后用shell语句全部push到仓库,就不用load一个push一个了,当然如果你手速快都可以。
for i in $(docker images | awk 'NR>1{print $1}');do docker push $i; done;
  • 然后说一下模板部署你肯定会遇到的坑
  • 根据提供的软件包,通过“应用商店”部署Grafana,修改网页访问端口为9090,通过curl命令访问首页。将操作命令和返回结果以文本形式提交到答题框。
    这题部署grafana,在应用商店里确实有这个服务,但是部署是失败的。这里要部署的其实是Prometheus服务,包含了Grafana

2.2 docker运维题目经验分享

  • docker的运维和openstack的运维思路是一样的,参考openstack运维的学习方法,这里就不再重复了。

  • 拿一个常出问题的例题讲一下吧

  • 在server节点运行mysql:8.0镜像,设置数据库密码为xd_root,将宿主机13306端口作为容器3306端口映射,进入容器后创建数据库xd_db,创建用户xiandian,密码为xd_pass,将此用户对xd_db拥有所有权限和和允许此用户远程访问,完成后使用xiandian用户远程登录数据库查询数据库内的数据库列表,将以上操作命令及检查结果填入答题框。
    这题在做的时候,要注意运行mysql镜像之后,不要急着去进去登录数据库,因为容器启动的过程中要去加载mysql服务,需要一些时间。(ps:先电服务器你懂得)

  • docker是没有排错题的,国赛出的运维题还是有些难度的,偏向cgroup、namespace等一些底层知识。

第三部分 大数据搭建和运维

3.1 大数据搭建经验分享

  • 搭建没有什么经验,比赛提供已经成功搭建的镜像文件,主需要自己去web界面启动服务就行了。
  • 准备的时候,还是自己多练练手工部署。

3.2 大数据运维经验分享

  • 大数据运维最好有java编程的底子,因为在做的过程中会java的错误,如果你没学过java,那你不一定能看出来报没报错。
  • 大数据做的过程中一个字就是慢!
  • 还有就是涉及的组件挺多的,例如spark、hive、hdfs、hadoop这些东西根本不是几个月的时候就能摸透的,所以为了做题去做题吧!结束的时候有兴趣可以深入了解一下这些东西。
  • 使用Mahout工具将解压后的20news-bydate.tar.gz文件内容转换成序列文件,保存到/data/mahout/20news/output/20news-seq/目录中,使用-text命令查看序列文件内容(前20行即可),依次将操作命令和返回结果以文本形式提交到答题框中。
  • 好像是这题,反正是关于Mahout挖掘数据的,一般放在最后一题,因为这题你挖个三四个小时都挖不出来,原因是动了手脚,所以只有听天由命吧。

第四部分 开发部署

鄙人不擅长开发,没什么经验可以分享,反正死扣JAVA、微信小程序、Python就行了。

第五部分 文档解答

文档题目,要会使用Visio画图工具,然后根据理论知识画出一些服务流程的原理图

当然还可能有脚本解读的题目,要求会一点shell就行了,因为脚本常用的基本就是一些文本编辑,例如sed


如果有需要题库刷题、附件、往年试题的同学请加1071386609云计算运维交流群,群内有部分资料提供参考!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐