--- title: ansible 重要檔案說明(DE sharing Day-2) tags: Ansible --- # Ansible 重要檔案說明 ## 重要元件 ### 1. <font color=Red>Inventory</font>:設定連線資訊 - 節點名稱 (自訂) - host ip - user name - password ### 2. <font color=Red>Playbooks</font>: 劇本,內含多個Task,用來讓 Ansible 執行接下來的工作 ### 3. <font color=Red>Tasks</font>: - 即將在遠端機器上執行的指令,每<font color=Red>一個指令</font>為最小單位 - 如果只有一個指令也可以透過ad-hoc方式使用 >ad-hoc:一種可快速執行,且不會將指令存下來的命令 ### 4. <font color=Red>module</font>:ansible官方提供多種模組操作方法,如:![圖例](https://i.imgur.com/qOMR6Wv.png) ### 5. facts: 自動抓取遠端節點的相關資訊,預設都會打開,但可以透過 `gather_facts=false`關閉,可加快playbooks執行速度 <!--使用 ansible 必須要有**一個 Inventory**以及**1~多個 Playbooks**,每個 Playbook 的最小單位是 Task--> --- ## 事前準備 ### 重要檔案 ### 1. ansible.cfg - 預設位置:`/etc/ansible/ansible.cfg` - 通常會在ansible資料夾內設置,會覆寫預設設定 >附註:通常我們會喜歡把**ansible.cfg、hosts和其他的playbooks放在同個專案目錄下**,一起Git做板控,以實現Infrastructure as Code ### 2. host - 設定欲連線機器資訊 - 若有多台機器可組成群組 - node name可以取個有意義的名字 ``` [es] node1 ansible_host=ip ansible_user=登入名字 ansible_password=密碼 ansible_become_password=要切root的密碼 node2 ansible_host=ip ansible_user=登入名字 ansible_password=密碼 ansible_become_password=要切root的密碼 [kibana] node3 ansible_host=ip ansible_user=登入名字 ansible_password=密碼 ansible_become_password=要切root的密碼 ``` ### 3. playbook.yml