Ansible 設定及測試

Ansible 設定及測試

安裝方式 可直接透過 apt or dnf 進行安裝即可

apt update 
apt install ansible -y

可透過 ansible-config view 查詢當前 ansible 的配置, 預設為空 或者會存在 /etc/ansible/ansible.cfg 中

以下提供一個配置檔案 若要使用該配置 可以創建檔案 此時ansible就會去自動讀取

mkdir -p /etc/ansible && touch /etc/ansible/ansible.cfg

# 以下為常用範本 可以稍加修改  
# ansible.cfg 
 
[defaults] 
# 如果有台被管節點重新安裝系統並在known_hosts中有與之前不同的金鑰訊息,就會提示一個金鑰不匹配的錯誤訊息,直到被解決狀況,在使用Ansible時,如果有台被管理節點沒有在known_hosts中被初始化,將會在使用Ansible或定時執行Ansible時提示關鍵訊息的確認。 
# 如果不想出現這種情況,並且發現取消某個行為的含義,只需將該參數修改為 False 即可 
host_key_checking = False 
 
# 設置主機可以透過幾個線程來運行ansible 
forks = 2  
# SSH超時間隔 單位:秒 
timeout = 20

接下來測試運行看看 能否成功連線到 10.211.55.53 透過內網連線

jenkins@717bafb9f6e6:/data/exec/jenkins/prj$ tree 
. 
├── dk 
│   └── frontend.yml 
└── inventory.ini
# inventory.ini 
 
# 密碼登入 
# ansible_become=yes 是否要用root 模式 
# ansible_become_pass 最高權限密碼 (若有的話) 無可以不用 
[local-node1] 
10.211.55.53 ansible_ssh_user=vagrant ansible_ssh_pass=vagrant ansible_port=22 ansible_become=yes ansible_become_pass= 
 
# pem key登入範例 
[local-node2] 
10.211.55.53 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=/data/var/key/test.pem
# frontend.yml 
--- 
- name: Test connectivity to all hosts 
  hosts: local-node1   # <--- 可指定單一群組 或者使用all 會自動選擇全部 
  tasks: 
    - name: Ping hosts 
      ping:

可透過 ansible-playbook -i inventory.ini playbook-backend-script.yml -e key=value -e key=value 進行測試