Ansible用于网络设备管理 part 2 对Jinja2 YAML 和 module的理解

虽然很不想用“应该”这个词,但是还是写上了,的确我自己目前就是这么理解的。

那么这个理解就是,Ansible的一个key point 就是总的一个playbook是去依赖很多元素的,就像一开始那个图里画的,如下图

这里面就涉及到它下挂的不管是yml文件还是Jinja2文件,这些文件的内部一定是和Ansible这个东西相紧密关联的,我之前之所以不那么理解就是在于这一点没有弄清楚,再说明白一点就是下面的内容

 

看到task:下面的东西了么?name, yum, service,还有在Jinja2文件(模板文件,既可以用j2也可以用conf做后缀)频繁用到的file,还有一些task下的main.yml频繁用到的template,这些统统是特么的module!!! 这些统统是特么的module!!! 这些统统是特么的module!!! 重要的事情说三遍!!!

这些都没有人告诉我啊喂,难怪我早期迷迷糊糊的,根本不知道它为啥要那么写,到底哪里规定的,好了,现在知道了,都是下面那个链接里规定的,常用的几个module的链接我也放在下面了

 

all modules: http://docs.ansible.com/ansible/list_of_all_modules.html

file the module: http://docs.ansible.com/ansible/file_module.html

template the module: http://docs.ansible.com/ansible/template_module.html

 

啊,这样就解释的通了,每个东西到底是干啥的也有个明白地方解释了,棒棒的。

 

记录一下目前的进度吧,通过又一次读Jason的这篇blog http://jedelman.com/home/ansible-for-networking/让我明白了这些概念性的东西,略微瞅了瞅下载下来的ansible-vsrx-demo里的bin文件夹下的内容,感觉Jeremy似乎正在解决或者已经解决了push到远端设备的问题,下面的工作应该是check一下bin文件夹下到底是什么,以及他用的什么方法,并且对比一下它和Jason的CAPL,还好我存了一个关于CAPL的浏览器收藏夹,还好语言是Python。对象是用的Juniper,还好手里有Juniper机器可以一试。Lucky me! 在23岁到来之前抓紧时间干些有意义又有意思的事情。

 

======我真的才发现原来Jeremy Schulman 是PyEZ的作者==========

 

未经授权,请勿转载!

posted @ 2015-11-29 22:51  Vooom  阅读(838)  评论(0编辑  收藏  举报