Ansible 使用和模組化深入解析

2022-07-15 23:45:14 字數 3041 閱讀 2354

ansible

ansible-doc

ansible-playbook

ansible-valut

ansible-console

ansible-galaxy

ansible-pull

usage: ansible-doc [-l|-f|-s] [options] [-t ] [plugin]

plugin documentation tool

options:

-a, --all 顯示所有模組文件

-l, --list 列出可用模組

-s, --snippet 顯示指定模組的playbook片段

ansible-doc -l    列出所有模組

ansible-doc ping 檢視指定模組幫助用法

ansible-doc -s ping 檢視指定模組幫助用法

--version 顯示版本

-m module 指定模組,預設為 command

-v 詳細過程 -vv -vvv 更詳細

--list-hosts 顯示主機列表,可簡寫 --list

-k,--ask-pass 提示輸入 ssh 連線密碼,預設 key 驗證

-k,--ask-become-pass 提示輸入 sudo 時的口令

-c,--check 檢查,並不執行

-t,--timeout=timeout 執行命令的超時時間,預設 10s

-u,--user=remote_user 執行遠端執行的使用者

-b,--become 代替舊版的 sudo 切換

1.2.1 ansible 的 主機模式

*:萬用字元

或關係ansible "192.168.2.100:192.168.2.111" -m ping

邏輯與邏輯非

綜合邏輯

注意:此處為單引號

正規表示式

1.2.2 ansible 命令執行過程

示例以 wang sudo 至 root 執行 ping 存活檢測

以 wang sudo 至 test 使用者執行 ping 存活檢測

以 wang sudo 至 root 使用者執行 ls

shell:和 command 相似,用 shell 執行命令

script:執行指令碼

copy:從伺服器複製檔案到客戶端

fetch:從客戶端取檔案至伺服器端,copy 相反,目錄可先 tar

file:設定檔案屬性

hostname:管理主機名

cron:計畫任務

ansible srv -m cron -a "minute=*/5 job='/usr/sbin/ntpdate 172.16.0.1 & > /dev/null' name=synctime"建立任務

ansible srv -m cron -a "disabled=true job='/usr/sbin/ntpdate 172.16.0.1 & > /dev/null' name=synctime"禁用任務

ansible srv -m cron -a 'state=absent name=synctime'刪除任務

yum:管理包

service:管理服務

user:管理使用者

group:管理組

- 列出所有已安裝的 galaxy

- ````ansible-galaxy list````

- 安裝 galaxy

- ````ansible-galaxy install geerlingguy.nginx````

- 刪除 galalxy

- ````ansible-galaxy remove geerlingguy.nginx````

# hello world yml file

---- hosts: websrvs # 對應ansible hosts 分組名 或 主機名

remote_user: root # 指定在被管理的主機上執行任務的使用者

tasks: # 任務列表

- name: hello # 任務名稱

command: hostname # 呼叫command模組 執行命令

ansible-playbook hello.yml
# ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]

# 加密

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

# 建立新檔案

Vuex Module 模組化使用

由於使用單一狀態樹,應用的所有狀態會集中到乙個比較大的物件。當應用變得非常複雜時,store 物件就有可能變得相當臃腫。為了解決以上問題,vuex 允許我們將 store 分割成模組 module 每個模組擁有自己的 state mutation action getter 甚至是巢狀子模組 src...

11 模組化使用PHP

許多站點不使用任何精美的內容管理系統 cms 來生成其頁面,它們只是靜態html內容的良好表現。您祖母餡餅烘焙業務的站點可能只有幾頁,也許是主頁,關於頁面和聯絡頁面。這些頁面中的每個頁面都有不同的主要內容,但是其中許多頁面都保持完全相同,例如頁首,導航和頁尾。將這些部分視為 模組 您可以輕鬆地使用p...

vuex的模組化使用

store檔案如下 1.modules下檔案是模組化的劃分,裡面的js有state,action,mutations.然後通過 export default 方式匯出。2.index.js中匯出的格式如下 new vuex.store mutations actions getters 所以inde...