按照官方文档,include就是把一些小的,可以多个play使用的小功能,分别放到单独的文件中,使用的时候引用即可,类似我们现在制作网站使用的头部,底部引用,修改的时候修改一个地方,不需要挨个页面修改
例如:
我们先创建一个文件叫:
tasks/foo.yml
内容如下:
– name: placeholder foo
command: /bin/foo
– name: placeholder bar
command: /bin/bar
其实就是两个task,然后,当我们想要用两个task的时候,我们只需要:
在playbook中加入如下内容即可
tasks:
– include: tasks/foo.yml
当然,在引用的时候我们也可以传递变量来获得不同的效果
tasks:
– include: wordpress.yml wp_user=timmy
– include: wordpress.yml wp_user=alice
– include: wordpress.yml wp_user=bob
下面是一个Handler的例子
—
# this might be in a file like handlers/handlers.yml
– name: restart apache
service: name=apache state=restarted
然后在playbook中只需要:
handlers:
– include: handlers/handlers.yml
那么问题来了,我们如果写了很多个这样各种功能的小文件,在调用的时候可能需要是-include100次,拷贝复制也是很烦的,官方给出的另外一个解决方案就是role!
role就是一个自动加载的规则,自动加载文件里边的task,handler,vars,而不用一个一个主义的引用
role就是自动引用
欢迎转载,转载请注明出处:http://www.503error.com/
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021