自動化運維工具 ANSIBLE 二

2021-10-02 08:16:34 字數 2953 閱讀 6523

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...