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
進行測試