Ansible劇本--Playbook Ansible playbook劇本介紹 在ansible中,類似“腳本”的文件被稱作“劇本”,英文稱為playbook,用於配置、部署和管理被控節點 只需要把模塊按照順序編排在playbook劇本中,ansible就會按照劇本一步一步的執行,最終達到我們需要 ...
Ansible劇本--Playbook
Ansible playbook劇本介紹
- 在ansible中,類似“腳本”的文件被稱作“劇本”,英文稱為playbook,用於配置、部署和管理被控節點
- 只需要把模塊按照順序編排在playbook劇本中,ansible就會按照劇本一步一步的執行,最終達到我們需要實現的效果
- playbook是由一個或多個'play'組成的列表,當我們在工作中需要不止做一件事情的時候,使用playbook會更加適合
- playbook與ad-doc相比是一種完全不同的運用方式,劇本需要遵循yaml語法格式編寫,文件名以'.yaml'或'.yml'作為文件名尾碼
playbook核心元素
- hosts:執行的遠程主機列表
- tasks:任務集
- variables:內置變數或自定義變數在playbook中調用
- templates:模板,可替換文件中的變數並實現一些簡單邏輯的文件
- handles和notify結合使用,由特定條件觸發的操作,滿足條件執行,否則不執行
- tags:標簽,指定某條任務執行,用於選擇運行playbook中的部分代碼
第一個Playbook劇本
使用ping模塊測試遠程主機連通性
---
- hosts: 群組名
remote_user: root
tasks:
- name: 自定義名稱
ping:
第一行:playbook劇本以"---"開頭表明yaml格式文件
第二行:使用"- "作為開頭,"- "表示一個列表項,"- "後面使用hosts關鍵字指定要操作的主機組名,表示我要在xx組主機上進行操作,在YAML語法中,鍵值對需要使用冒號作為分隔,而且冒號後面必須還要有一個空格作為分隔
第三行:remote_user關鍵字可以指定在進行遠程操作時使用哪個用戶進行操作
第四行:tasks關鍵字指定要執行哪些操作任務,之後的行都屬於tasks任務列表中的任務,每個任務都以"- "開頭,每個任務都有自己的名字,任務名使用name關鍵字進行指定
使用"ansible-playbook playbook.yaml"命令運行劇本
使用"ansible-playbook --syntax-check playbook.yaml"命令檢查playbook語法是否正確,如果正確只返回playbook名稱
使用"ansible-playbook --check playbook.yaml"命令模擬運行劇本