Ansible Intro & Install

前言

Ansible是一個Redhat支持開發的IT Automation工具, 基礎是python3+ssh

Ansible

Push mode

這是Ansible的基本功用由一台安裝Ansible的機器push指令到Inventory的機器上一次性進行所有的同步指令進行管理

Ad-Hoc指令

這是一次性的指令基本用法是

1
ansible [pattern] -m [module] -a "[module options]"

Playbook

這個可以視為是事先寫好的script可以讓Ansible直接依照該Playbook去跑複雜的動作進行管理後續會把自己寫的一部分整理起來

Pull Mode

這個是使用ansible-pull指令,將某地的Playbook拉到本機上套用,很適合用來進行單機的自動環境設定,像我這種會日益增加Linux機台的人很適合寫好playbook然後採用**ansible-pull+Github**的組合去儲存我的各種機器設定,缺點就是變成每一台機器都得要安裝ansible不然的話無法套用(push mode不用每台都安裝也可以跑)

1
sudo ansible-pull -U https://your.git.server/user/repo playbook-you-want.yml

這樣就可以指定要pull哪個playbook來使用

安裝

安裝非常的簡單就我自己常用的Arch系與Debian/Ubuntu系的機器都是一行指令安裝完成

Arch/Manjaro

1
sudo pacman -S ansible

Debian/Ubuntu

1
apt install ansible

基本連線

1
ansible <IP or name> --ask-pass -m [module]

若是使用ssh key的話就不需要--ask-pass參數來要求手動輸入ssh password

有些Server會check host ssh key,所以可以去ansible.cfg裡面加上host_key_checking = False