1.安裝ansible
如果沒有版本和別的要求,這裡直接使用yum安裝
yum -y install ansible
檢視版本
[root@0006 ~]#ansible --versionansible
2.4.2.0
config
file = /etc/ansible/ansible.cfg
executable location = /usr/bin/ansible
python version = 2.7.5
2.ansible 功能詳解
配置檔案
配置檔案或指令
描述/etc/ansible/ansible.cfg
主配置檔案,配置ansible工作特性
/etc/ansible/hosts
主機清單
/etc/ansible/roles/
存放角色的目錄
/usr/bin/ansible
主程式,臨時命令執行工具
/usr/bin/ansible-doc
檢視配置文件,模組功能檢視工具
/usr/bin/ansible-galaxy
/usr/bin/ansible-playbook
定製自動化任務,編排劇本工具
/usr/bin/ansible-pull
遠端執行命令的工具
/usr/bin/ansible-vault
檔案加密工具
/usr/bin/ansible-console
基於console介面與使用者互動的執行工具
3.主機清單
ansible必須通過inventory 來管理主機。ansible 可同時操作屬於乙個組的多台主機,組和主機之間的關係通過 inventory 檔案配置。
語法格式:
//單台主機
green.example.com //
fqdn
192.168.100.10
//ip位址
192.168.100.11:2222
//非標準ssh埠
[webservers]
//定義了乙個組名
alpha.example.org //
組內的單台主機
192.168.100.10
[dbservers]
192.168.100.10
//一台主機可以是不同的組,這台主機同時屬於[webservers]
[group:children]
//組巢狀組,group為自定義的組名,children是關鍵字,固定語法,必須填寫。
dns //
group組內包含的其他組名
db //
group組內包含的其他組名
[webservers]
www[
001:006].hunk.tech //
有規律的名稱列表,
//這裡表示相當於:
www001.hunk.tech
www002.hunk.tech
www003.hunk.tech
www004.hunk.tech
www005.hunk.tech
www006.hunk.tech
[databases]
db-[a:e].example.com //
定義字母範圍的簡寫模式,
//這裡表示相當於:
db-a.example.com
db-b.example.com
db-c.example.com
db-d.example.com
db-e.example.com
//以下這2條定義了一台主機的連線方式,而不是讀取預設的配置設定
localhost ansible_connection=local
www.
163.com ansible_connection=ssh ansible_ssh_user=hunk
//最後還有乙個隱藏的分組,那就是all,代表全部主機,這個是隱式的,不需要寫出來的。
4.ansible命令
[root@0006 ~]# ansible dns -m ping# 使用ansible對dns組內的主機進行ping模組測試
[root@
0006 ~]# ansible dns -m ping -k #加上-k選項後,會提示輸入ssh密碼了。
[root@
0006 ~]# ansible dns -m command -a '
free
'[root@
0006 ~]# ansible mfs -m shell -a "
curl '' > /etc/pki/rpm-gpg/rpm-gpg-key-moosefs
"[root@
0006 ~]# ansible wo -m shell -a "
sed -i '/ntpdate/d' /var/spool/cron/root
"[root@
0006 ~]# ansible wo -m shell -a "
echo '0 20 * * * /usr/sbin/ntpdate 192.168.2.1 && /sbin/clock -w > /dev/null 2>&1' >>/var/spool/cron/root
"
ansible常用命令語法
ansible [-m module_name] [options]//指令 匹配規則的主機清單 -m 模組名 選項
--version //
顯示版本
-a //
模組引數(如果有)
-m module //
指定模組,預設為command
-v //
詳細過程 –vv -vvv更詳細
--list-hosts //
顯示主機列表,可簡寫--list
-k, --ask-pass //
提示連線密碼,預設key驗證
-k,--ask-become-pass //
提示使用sudo密碼
-c, --check //
檢查,並不執行
-t, --timeout=timeout //
執行命令的超時時間,預設10s
-u, --user=remote_user //
執行遠端執行的使用者
-u, sudo_user, --sudo-user //
指定sudu使用者
-b, --become //
代替舊版的sudo 切換
ansible-doc: //顯示模組幫助
ansible-doc [options] [module...]
-a //
顯示所有模組的文件
-l, --list //
列出可用模組
-s, --snippet //
顯示指定模組的簡要說明
//例子:#ansible-doc ping
//由於ansible的模組有1378個(2.4.2.0),並且一直在持續更新。因此,這個指令必須要掌握的。
#ansible-doc -l |wc -l
1378
ansible安裝及基本命令
配置yum源 root bogon vi etc yum.repos.d dgf.repo alibase name alibase baseurl el ease ver os releasever os releas ever os basearch enabled 1 gpgcheck 1 g...
Ansible安裝及簡單使用備註
1 安裝epel源 rpm ivh 2 安裝 yum install ansible y 完成後執行 ansible version ansible 2.3.1.0 config file etc ansible ansible.cfg configured module search path d...
Ansible使用原因及安裝方式
當你的公司沒有太多資金而決定把效能過剩伺服器進行虛擬化,將一台真實伺服器變為多台虛擬機器的時候 當你的公司因業務需求需要擴充伺服器的時候 當你重複配置 安裝相同的軟體到其他伺服器的時候 你會發現,咦?我是不是有哪台伺服器忘記配置了,另一台的服務是要怎麼安裝來的?我的安裝文件的呢?咦?怎麼這不是一類作...