---
# System prepended metadata

title: ansible 重要檔案說明(DE sharing Day-2)
tags: [Ansible]

---

---
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







