ansible-playbook剧本使用配置
1.基本語法,使用yaml格式文件
- hosts: all
2. hosts:指定主機(jī),必須為/etc/ansible/hosts定義的主機(jī)
可為單個或多個
3.remote_user:root
指定遠(yuǎn)程運(yùn)行的用戶
4.tasks:一個劇本中要運(yùn)行的任務(wù)
必須有name:任務(wù)名稱
后跟ansible模塊名,如shell,service,copy等
在某個模塊中需要指定好選項(xiàng)與值,key=value格式,如
service: name=httpd enabled=yes state=started
shell與command模塊直接加命令即可
5.tags:給該任務(wù)定義一個標(biāo)簽,如tags:task1
在使用ansible-playbook -t task1 x.yaml 時,指定-t 加tags名可以只運(yùn)行某個任務(wù)
6.在定義完x.yaml文件后,可以使用ansible-playbook --check x.yaml 測試是否存在問題
7.ansible-playbook --list-hosts 2.yaml 查看當(dāng)前劇本的主機(jī)列表
8.在/etc/ansible/hosts中定義變量并引用:
9.使用absible-playbook引用模板tempalte:如自定義httpd.conf文件中的監(jiān)聽端口:
Listen {{ httpd_port }} 引用剛才定義在各主機(jī)的httpd變量。
創(chuàng)建一個新的yaml文件:
ansible-playbook xxx.yaml
使用template模塊復(fù)制并重啟,可以實(shí)現(xiàn)不對主機(jī)監(jiān)聽不同端口
10.ansible all -m setup|grep ansible_processor :可以通過 ansible all -m set|grep xxx 查找想要的變量值,但是不支持通配符
11.ansible使用roles快速重用配置:
/etc/ansible/roles/ 創(chuàng)建需要的角色,如nginx,mysql等等
各角色文件下包含以下幾個目錄:
files:存放copy模塊或script模塊調(diào)用時的文件
templates:template模塊查找所需要的文件
tasks:存放任務(wù)的文件至少包含一個main.yml文件
vars:存在定義變量的文件至少包含一個main.yml文件
tasks目錄下main.yml內(nèi)容:
12.ansible-playbook調(diào)用roles
若存在多個roles則繼續(xù)調(diào)用:
- hosts:all
remote_user: root
roles:
- nginx
- mysql
總結(jié)
以上是生活随笔為你收集整理的ansible-playbook剧本使用配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10安装java+hadoop+s
- 下一篇: Java排序 - 不实用的几个排序算法