ansible-doc [options]
[module...]
-l,--list //列出可用模組
-s,--snippet //顯示指定模組的playbook片段
示例:ansible-doc -l 列出所有模組
ansible-doc ping 檢視指定模組幫助用法
ansible-doc -s ping 檢視指定模組幫助用法
ansible通過ssh實現配置管理、應用部署、任務執行等功能,建議ansible端能基於金鑰認證的方式聯絡各被管理節點
ansible
[-m module_name]
[-a args]
--version 顯示版本
-m module 指定模組,預設為command
-v 詳細過程 –vv -vvv更詳細
--list-hosts 顯示主機列表,可簡寫 --list
-k, --ask-pass 提示輸入ssh連線密碼,預設key驗證
-c, --check 檢查,並不執行
-t, --timeout=timeout 執行命令的超時時間,預設10s
-u, --user=remote_user 執行遠端執行的使用者
-b, --become 代替舊版的sudo 切換
--become-user=username 指定sudo的runas使用者,預設為root
-k, --ask-become-pass 提示輸入sudo時的口令
ansible的 host-pattern
all //表示所有 inventory中的所有主機
"*""*srvs*"
"websrvs:&dbsrvs" // 邏輯與
"websrvs:!dbsrvs" //在websrvs中不在dbsrvs中
"~(web|db).*\.xuepeng\.com" //匹配web.xuepeng.com或db.xuepeng.com
ansible命令執行過程
載入自己的配置檔案 預設 /etc/ansible/ansible.cfg
載入自己對應的模組檔案,如 command
通過ansible將模組或命令生成對應的臨時py檔案,將將檔案傳輸至遠端伺服器的對應執行使用者 $home/.ansible/tmp/ansible-tmp-數字/***.py檔案
給檔案+x執行
執行並返回結果
刪除臨時 py檔案,退出
執行狀態:
綠色:執行成功並且不需要做改變的操作
黃色:執行成功並且對目標主機做變更
紅色:執行失敗
ansible使用示例
ansible all -m ping -u zhangsan -k //以zhangsan使用者執行ping存活檢測
ansible all -m ping -u zhangsan -k -b //以zhangsan sudo至root執行ping存活檢測
ansible all -m ping -u zhangsan -k -b --become-user=admin //以zhangsan sudo至admin使用者執行ping存活檢測
ansible all -m command -u wang -a 'ls /root' -b --become-user=root -k -k
列出所有已安裝的galaxy
ansible-galaxy list
安裝galaxy
ansible-galaxy install geerlingguy.redis
刪除galaxy
ansible-galaxy remove geerlingguy.redis
功能:管理加密解密yml檔案
ansible-vault [create|decrypt|edit|encrypt|rekey|view]
ansible-vault encrypt hello.yml 加密
ansible-vault decrypt hello.yml 解密
ansible-vault view hello.yml 檢視
ansible-vault edit hello.yml 編輯加密檔案
ansible-vault rekey hello.yml 修改口令
ansible-vault create new.yml 建立新檔案
cat hello.yml
---- hosts: websrvs
remote_user: root
tasks:
- name: hello world
command: /usr/bin/wall hello world
ansible-playbook hello.yml
[root@ansible ~]
# ansible-console
welcome to the ansible console.
type help or ? to list commands.
root@all (5)
[f:5]$ list
192.168.209.9
192.168.209.29
192.168.209.59
192.168.209.39
192.168.209.49
root@all (5)
[f:5]$ forks 10
root@all (5)
[f:10]$ cd websrvs
root@websrvs (2)
[f:10]$ yum name=screen state=present
ansible 自動化運維工具
ansible 自動化運維工具 批量管理 python開發 無客戶端 基於ssh服務 22 安裝 1.ansible包在擴充套件源,epel release yum y install epel release yum repolist 2.安裝,ansible yum y install ansi...
自動化運維工具 ansible
ansible ansible 一 簡介和部署 ansible 二 主機清單管理 ansible 三 配置和命令集 ansible 四 常用模組 ansible 五 palybooks劇本 ansible 彙總 ansible 中文權威指南 本部落格 至 小左先森的部落格 ansible ansib...
ansible 自動化運維工具
ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible...