使用萬用字元匹配主機
- hosts: '*' #匹配所有主機
- hosts: '*.example.com' #匹配以.example.com結尾的主機
- hosts: '192.168.136.*' #匹配指定ip網段的主機
通過列表匹配主機或主機組
- hosts: localhost,test1,192.168.10.30
也可以將萬用字元和列表等一起使用:
- hosts: all,!servera.lab.example.com #所有主機除了servera.lab.example.com
編寫動態清單程式,將 ini 格式的清單轉換為 json 格式
命令:ansible-inventory -i inventory --list
[root@localhost ansible]# cat inventory
192.168.163.134 ansible_password=123456
[web]
192.168.163.136 ansible_password=123456
192.168.163.137 ansible_password=123456
[root@localhost ansible]# ansible-inventory -i inventory --list
, "web": ,
"_meta": ,
"192.168.163.136": ,
"192.168.163.137": }},
"all":
}
1.使用 forks 在 ansible 中配置並行
ansible 最大同時連線數由 ansible 配置檔案中 forks引數 控制
[root@localhost ~]# grep forks /etc/ansible/ansible.cfg
#forks = 5
[root@localhost ~]# ansible-config dump|grep -i forks
default_forks(default) = 5
2.管理滾動更新
state: restarted四、包含和匯入檔案
大型 playbook 管理起來比較複雜,可以用模組化的方式管理;
兩種方法:包含、匯入
(1)匯入playbook:
- name: configure webserver
import_playbook: web.yml #web.yml是已經寫好的playbook
(2)匯入和包含任務的playbook
示例:乙個只有任務的檔案,命名為task.yml
- import_tasks: task.yml #匯入任務playbook
- name: install web
hosts: web
tasks:
- include_tasks: task.yml
(3)為外部 play 和任務定義變數,提高復用性:
示例:乙個安裝軟體包和設定開機啟動的任務
- name: install the }
yum:
name: "}"
state: latest
- name: start the }
service:
name: "}"
enabled: true
state: strated
用於匯入:
大專案小專案
很多人責怪第一門計算機語言的老師不行 我也是的 雖然那個時候自己無心也無力對老師進行評價 現在想想只能用 誤人子弟 來形容這位尊敬的副院長 很神奇授課的時候把大學的東西搞明白了 小碩的時候把授課的東西搞明白了 工作了把小碩的東西搞明白了 永遠都慢了一拍 那什麼時候才能把工作的東西搞明白?今年的工作接...
GO語言大專案推薦
1 rainbond 實現微服務架構不用改 管理k8s不用學容器,幫企業實現應用上雲,一站式將任何企業應用持續交付到k8s集群 混合雲 多雲等基礎設施 rainbond是乙個集大成的專案 rainbond devops方案 賦予企業搭建面向應用的持續開發 交付鏈路的能力 rainbond 多租戶多雲...
艾偉也談專案管理,大專案的思考
引言 進入現在這個我們內部號稱 豪門 的專案已經兩個多月了。現在回想起進入專案前一位前輩的話 大專案有大專案的問題,但大專案也有很多東西可學 自己此時深表贊同。兩個月的時間,自己從剛來前兩周的觀察學習,到現在的基本融入,在這個過程中自己有了很多的想法和思考。為什麼測試這麼難寫?tdd的開發實踐保證了...