这篇拖了有点久,主要是没有免费的阅读时长。好不容易找了几个好友续续命,零零散散终于看完了。
文章的后续部分讲解shell、python、ansible等运维语言工具的编写使用。摘录一些平时接触的少的命令用法。
-
不定期检查服务器是否存在硬件损坏情况。
grep error /var/log/messages
-
shell支持命令参数进行调试,从第10个参数开始,必须使用花括号将编号包起来,如:""和"#"表示位置参数的总数。
-
shell中-n 不会执行该脚本,仅查询脚本语法是否正确,并给出错误提示。
-
shell -v 在执行脚本时先把脚本内容输出到屏幕上,再执行,如有错误,也会给出错误提示。
-
如果想调试脚本里的几行代码,可以用"set -x"和"set +x"把代码包起来。
-
let命令取代expr,还支持"+=","-=","*=","/=","%="
-
"@"是sed的分隔符,也可以使用其他符号"/",但是要特别注意转义。所以一般用@(这一点很有帮助,避坑)
-
sed命令中如果没有g,表示从行的左端开始匹配,每一行第一个与之匹配的都会被换掉,如果有g,则表示每一行所有与之匹配的都会被换掉。
-
shell脚本执行另一个shell脚本,可采用两种方式:
- exec,继承当前shell的环境变量。事实上是exec产生了新的进程,占用主shell的进程资源并替换脚本,继承原shell的PID号。也就是说原主shell剩下的内容不会被执行。
- source,将调用的脚本复制过来执行,执行完毕后原主shell将继续运行。
-
Vagrant是为了方便地实现虚拟化环境而设计的,使用Ruby开发,基于VirtualBox等虚拟机管理软件的接口,提供了一个可配置、轻量级的便携式虚拟开发环境.平时工作中也用到了这个,但是virtual box未来有可能要收费,所以它的命运也不知道咋样。替代品可能就是k8s里面的helm方式了。
-
书中关于python的知识点挺多的,作为学习也足够了。我们可以使用yield生成自定义可迭代对象,即generator,每一个带有yield的函数就是一个generator。将文件切分成小段,每次处理完一小段的内容之后,释放内存。
-
Vagrant在工作中除了能够方便地团队之间共享开发环境之外,另外一个优点就是能在节约系统资源的前提下,方便快捷地搭建分布式环境。现在工作中的很多工作都会涉及分布式场景,希望大家能够熟练地掌握其用法,这样工作和学习效率将会得到进一步的加强。
-
Ansible默认是同步阻塞模式,它会等待所有的机器都执行完毕之后才会在前台返回。
-
总体来说,大概有如下的一些场景需要使用到Ansible的异步执行特性。
❑ 当我们有一个task需要运行很长的时间,而且这个task很可能会达到timeout时。
❑ 当我们有一个任务需要在大量的机器上面运行时。
❑ 当我们有一个任务不需要等待它完成时。
这一点看到时,还特地拿我们的开发代码试了下,因为发现我们部署的时候,有时候需要等好长时间,想用异步试试,结果虽然在场景里不实用,主要是部署k8s的主节点,针对一个机器。worker机器都是通过k8s自己管理,不需要额外的用命令执行。 -
Ansible中,当我们使用SSH Multiplexing的时候,多个连接到相同的被控制主机的SSH会话将会共享相同的TCP连接,这样就只有在第一次连接的时候需要进行TCP三次握手了。
-
Docker中的网络接口默认都是虚拟接口,虚拟接口的最大优势就是转发效率极高,这是因为Linux通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将直接复制到接收接口的接收缓存中,而无须通过外部物理设备进行交换。
-
定制RPM包。RPM是包管理器,早起运维中,基本上使用源码安装软件包,但是现在由于机器数量的急剧增长,我们需要用自动化的安装人体系,需要将业务软件以RPM包的形式打包,建立自己的yum源,可以通过ansible、slatstack来管理这些RPM包。
可参考:https://www.ibm.com/developerworks/cn/linux/l-rpm/ -
因地制宜的选择自动化运维方案,打造自动化运维平台,最难的不是如何开发,而是积累场景,长期积累各种业务场景才能打造出最合适的自动化运维平台。自动化运维不是终点,积累场景和大数据才是关键,所以自动化运维的每一步中都应该做好对数据和场景的积累,等到将来场景模型完全建立起来,我们才能实现最终的自动化运维目标。
书的最后还提到了几款流行的Devops工具,gitLab、Gunicorn、supervisor、Cerely等,简单描述了他们的应用场景以及实践过程。
总的来说这本书讲解的还是挺好的, 简单,易懂。对于拓展视野也有很大的帮助,跟大家安利一波。
网友评论