亚洲成A人片在线观看网站_成年网站免费视频A在线双飞_日日日日做夜夜夜夜无码_久久夜色撩人精品国产小说

Ansible 備忘清單

此快速參考備忘單提供了使用 的各種方法。

入門

安裝

安裝命令環境
brew install ansiblemacos
yum install -y ansiblecentos
pip install ansiblepython

配置位置

文件路徑說明
/etc/ansible/ansible.cfg系統范圍的配置
~/ansible.cfg用戶特定的配置
$pwd/ansible.cfg當前目錄下的配置

Inventory文件(hosts列表)

靜態Inventory

/etc/ansible/hosts

mail.example.com

[webservers]
foo.example.com
bar.example.com

Inventory 主機組使用多個IP和域名

[web]
172.18.12.5[1:4]
[webservers]
www[01:50].example.com

Inventory 主機組使用子主機組

[usa:children]
southeast
northeast
southwest
northwest

給多臺主機設置變量

group variables 如果組中的所有主機共享一個變量值,則可以一次將該變量應用于整個組

[atlanta]
host1
host2

[atlanta:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com

命令行(ad-hoc)

ansible

檢查Inventory是否生效

$ ansible all --list-hosts

ping所有目標

$ ansible all -m ping

ping本地(不使用SSH連接)

$ ansible all -i localhost, -e '{"ansible_connection": "local"}' -m ping

本地執行命令

$ ansible all -i localhost, -e '{"ansible_connection": "local"}' -a 'hostname'

獲取本地主機的信息

$ ansible all -i localhost, -e '{"ansible_connection": "local"}' -m setup

獲取遠程到本地

$ ansible target -m fetch -a "src=/tmp/seq dest=/tmp/seq"

拷貝本地到遠程

$ ansible target -m copy -a "src=/tmp/seq dest=/tmp/seq"

Ansible 命令幫助

$ ansible
$ ansible <host-pattern> [options]

:--
-a MODULE_ARGS, --args=MODULE_ARGS模塊參數
--ask-vault-pass詢問保險庫密碼
-B SECONDS, --background=SECONDS異步運行,X 秒后失敗 (默認=N/A)
-C, --check不要做任何改變;相反,嘗試預測可能發生的一些變化
-D, --diff更改(小)文件和模板時,顯示這些文件中的差異; 與 --check 配合使用效果很好
-e EXTRA_VARS, --extra-vars=EXTRA_VARS將附加變量設置為 key=value 或 YAML/JSON
-f FORKS, --forks=FORKS指定要使用的并行進程數 (default=5)
-h, --help顯示此幫助信息并退出
-i INVENTORY, --inventory-file=INVENTORY指定清單主機路徑(默認=/etc/ansible/hosts)或逗號分隔的主機列表
-l SUBSET, --limit=SUBSET進一步將選定主機限制為其他模式
--list-hosts輸出匹配主機列表;不執行任何其他操作
-m MODULE_NAME, --module-name=MODULE_NAME要執行的模塊名稱 (default=command)
-M MODULE_PATH, --module-path=MODULE_PATH指定模塊庫的路徑 (default=None)
--new-vault-password-file=NEW_VAULT_PASSWORD_FILE用于重新生成密鑰的新保管庫密碼文件
-o, --one-line壓縮輸出
--output=OUTPUT_FILE用于加密或解密的輸出文件名; 使用 - 用于標準輸出
-P POLL_INTERVAL, --poll=POLL_INTERVAL如果使用 -B 則設置輪詢間隔(default=15)
--syntax-check對 playbook 執行語法檢查,但不要執行它
-t TREE, --tree=TREE將輸出記錄到此目錄
--vault-password-file=VAULT_PASSWORD_FILE保險庫密碼文件
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--version顯示程序的版本號并退出

控制誰以及如何連接到主機,連接選項:

:--
-k, --ask-pass詢問連接密碼
--private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE使用此文件來驗證連接
-u REMOTE_USER, --user=REMOTE_USER以此用戶身份連接(default=None)
-c CONNECTION, --connection=CONNECTION要使用的連接類型 (default=smart)
-T TIMEOUT, --timeout=TIMEOUT以秒為單位覆蓋連接超時 (default=10)
--ssh-common-args=SSH_COMMON_ARGS指定要傳遞給 sftp/scp/ssh 的常用參數 (e.g. ProxyCommand)
--sftp-extra-args=SFTP_EXTRA_ARGS指定僅傳遞給 sftp 的額外參數 (e.g. -f, -l)
--scp-extra-args=SCP_EXTRA_ARGS指定僅傳遞給 scp 的額外參數 (e.g. -l)
--ssh-extra-args=SSH_EXTRA_ARGS指定僅傳遞給 ssh 的額外參數 (e.g. -R)

控制您成為目標主機上的用戶的方式和用戶,特權升級選項:

:--
-s, --sudo使用 sudo (nopasswd) 運行操作(已棄用,使用 become)
-U SUDO_USER, --sudo-user=SUDO_USER所需的 sudo 用戶(默認=root)(已棄用,使用 become)
-S, --su使用 su 運行操作(已棄用,使用 become)
-R SU_USER, --su-user=SU_USER以該用戶身份使用 su 運行操作(默認 = root)(已棄用,使用 become)
-b, --become使用 become 運行操作(不暗示密碼提示)
--become-method=BECOME_METHOD要使用的權限提升方法(默認=sudo),有效選擇:[ sudo
--become-user=BECOME_USER以該用戶身份運行操作(默認=root)
--ask-sudo-pass詢問 sudo 密碼(已棄用,使用 become)
--ask-su-pass詢問 su 密碼(已棄用,使用 become)
-K, --ask-become-pass要求提權密碼

Ansible Galaxy 工具

$ ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...

:--
-h, --help顯示此幫助信息并退出
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--version顯示程序的版本號并退出

$ ansible-galaxy search --author <AUTHOR>
$ ansible-galaxy search --platforms <PLATFORM>
$ ansible-galaxy search --galaxy-tags <TAG>
$ ansible-galaxy info <ROLE>
$ ansible-galaxy install <ROLE> -p <ROLE_DIRECTORY>
$ ansible-galaxy install -r <ROLE1> <ROLE2> <ROLE3> ...
$ ansible-galaxy list
$ ansible-galaxy remove <ROLE>
$ ansible-galaxy init <ROLE>
$ ansible-galaxy init --offline <ROLE>

ansible-doc

在本地訪問文檔

$ ansible-doc
$ ansible-doc [options] [module...]

:--
-h, --help顯示此幫助信息并退出
-l, --list列出可用模塊
-M MODULE_PATH, --module-path=MODULE_PATH指定模塊庫的路徑 (default=None)
-s, --snippet顯示指定模塊的劇本片段
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--version顯示程序的版本號并退出

ansible-vault

$ ansible-vault
$ ansible-vault [create|decrypt|edit|encrypt|rekey|view] [--help] [options] vaultfile.yml

:--
--ask-vault-pass詢問保險庫密碼
-h, --help顯示此幫助信息并退出
--new-vault-password-file=NEW_VAULT_PASSWORD_FILE用于重新生成密鑰的新保管庫密碼文件
--output=OUTPUT_FILE用于加密或解密的輸出文件名; 使用 - 用于標準輸出
--vault-password-file=VAULT_PASSWORD_FILE保險庫密碼文件
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--version顯示程序的版本號并退出

ansible-playbook

$ ansible-playbook
$ ansible-playbook playbook.yml

:--
--ask-vault-pass詢問保險庫密碼
-C, --check不要做任何改變;相反,嘗試預測可能發生的一些變化
-D, --diff更改(小)文件和模板時,顯示這些文件中的差異;與 --check 配合使用效果很好
-e EXTRA_VARS, --extra-vars=EXTRA_VARS將附加變量設置為 key=value 或 YAML/JSON
--flush-cache清除事實緩存
--force-handlers即使任務失敗也運行處理程序
-f FORKS, --forks=FORKS指定要使用的并行進程數(默認值=5)
-h, --help顯示此幫助信息并退出
-i INVENTORY, --inventory-file=INVENTORY指定清單主機路徑(默認=/etc/ansible/hosts)或逗號分隔的主機列表
-l SUBSET, --limit=SUBSET進一步將選定主機限制為其他模式
--list-hosts輸出匹配主機列表;不執行任何其他操作
--list-tags列出所有可用的標簽
--list-tasks列出所有將要執行的任務
-M MODULE_PATH, --module-path=MODULE_PATH指定模塊庫的路徑(默認=無)
--new-vault-password-file=NEW_VAULT_PASSWORD_FILE用于重新生成密鑰的新保管庫密碼文件
--output=OUTPUT_FILE用于加密或解密的輸出文件名;使用 - 用于標準輸出
--skip-tags=SKIP_TAGS只運行標簽與這些值不匹配的播放和任務
--start-at-task=START_AT_TASK在匹配此名稱的任務處啟動劇本
--step一步一步:在運行前確認每個任務
--syntax-check對 playbook 執行語法檢查,但不要執行它
-t TAGS, --tags=TAGS只運行帶有這些值標記的播放和任務
--vault-password-file=VAULT_PASSWORD_FILE保險庫密碼文件
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--version顯示程序的版本號并退出

連接選項:

:--
-k, --ask-pass詢問連接密碼
--private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE使用此文件來驗證連接
-u REMOTE_USER, --user=REMOTE_USER以此用戶身份連接(默認=None)
-c CONNECTION, --connection=CONNECTION要使用的連接類型(默認=smart)
-T TIMEOUT, --timeout=TIMEOUT以秒為單位覆蓋連接超時(默認值 = 10)
--ssh-common-args=SSH_COMMON_ARGS指定要傳遞給 sftp/scp/ssh 的常用參數(例如 ProxyCommand)
--sftp-extra-args=SFTP_EXTRA_ARGS指定僅傳遞給 sftp 的額外參數(例如 -f、-l)
--scp-extra-args=SCP_EXTRA_ARGS指定僅傳遞給 scp 的額外參數(例如 -l)
--ssh-extra-args=SSH_EXTRA_ARGS指定僅傳遞給 ssh 的額外參數(例如 -R)

特權升級選項:

:--
-s, --sudo使用 sudo (nopasswd) 運行操作(已棄用,使用 become)
-U SUDO_USER, --sudo-user=SUDO_USER所需的 sudo 用戶(默認=root)(已棄用,使用become)
-S, --su使用 su 運行操作(已棄用,使用 become)
-R SU_USER, --su-user=SU_USER以該用戶身份使用 su 運行操作(默認 = root)(已棄用,使用become)
-b, --become使用 become 運行操作(不暗示密碼提示)
--become-method=BECOME_METHOD要使用的權限提升方法(默認=sudo),有效選擇:[ sudo | su | pbrun | pfexec | runas | doas | dzdo ]
--become-user=BECOME_USER以該用戶身份運行操作(默認=root)
--ask-sudo-pass詢問 sudo 密碼(已棄用,使用 become)
--ask-su-pass詢問 su 密碼(已棄用,使用 become)
-K, --ask-become-pass要求提權密碼

ansible-pull

$ ansible-pull 
$ ansible-pull -U <repository> [options]

:--
--accept-host-key如果尚未添加,則添加 repo url 的主機密鑰
--ask-vault-pass詢問保險庫密碼
-C CHECKOUT, --checkout=CHECKOUT分支/標簽/提交結帳。默認為存儲庫模塊的行為。
-d DEST, --directory=DEST簽出存儲庫的目錄
-e EXTRA_VARS, --extra-vars=EXTRA_VARS將附加變量設置為 key=value 或 YAML/JSON
-f, --force即使無法更新存儲庫也運行 playbook
--full做一個完整的克隆,而不是一個淺的
-h, --help顯示此幫助信息并退出
-i INVENTORY, --inventory-file=INVENTORY指定清單主機路徑(默認=/etc/ansible/hosts)或逗號分隔的主機列表
-l SUBSET, --limit=SUBSET進一步將選定主機限制為其他模式
--list-hosts輸出匹配主機列表;不執行任何其他操作
-m MODULE_NAME, --module-name=MODULE_NAME存儲庫模塊名稱,ansible 將使用它來簽出 repo。默認是 git
-M MODULE_PATH, --module-path=MODULE_PATH指定模塊庫的路徑(默認=無)
--new-vault-password-file=NEW_VAULT_PASSWORD_FILE用于重新生成密鑰的新保管庫密碼文件
-o, --only-if-changed僅在存儲庫已更新時才運行 playbook
--output=OUTPUT_FILE用于加密或解密的輸出文件名;使用 - 用于標準輸出
--purge劇本運行后清除結帳
--skip-tags=SKIP_TAGS只運行標簽與這些值不匹配的播放和任務
-s SLEEP, --sleep=SLEEP在開始之前休眠隨機間隔(在 0 到 n 秒之間)。這是分散 git 請求的有用方法
-t TAGS, --tags=TAGS只運行帶有這些值標記的播放和任務
-U URL, --url=URL劇本存儲庫的 URL
--vault-password-file=VAULT_PASSWORD_FILE保險庫密碼文件
-v, --verbose詳細模式(-vvv 更多,-vvvv 啟用連接調試)
--verify-commit驗證簽出提交的 GPG 簽名,如果失敗則中止運行 playbook。這就需要對應的VCS模塊來支持這樣的操作
--version顯示程序的版本號并退出

連接選項:

:--
-k, --ask-pass詢問連接密碼
--private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE使用此文件來驗證連接
-u REMOTE_USER, --user=REMOTE_USER以此用戶身份連接(默認=無)
-c CONNECTION, --connection=CONNECTION要使用的連接類型(默認=智能)
-T TIMEOUT, --timeout=TIMEOUT以秒為單位覆蓋連接超時(默認值 = 10)
--ssh-common-args=SSH_COMMON_ARGS指定要傳遞給 sftp/scp/ssh 的常用參數(例如 ProxyCommand)
--sftp-extra-args=SFTP_EXTRA_ARGS指定僅傳遞給 sftp 的額外參數(例如 -f、-l)
--scp-extra-args=SCP_EXTRA_ARGS指定僅傳遞給 scp 的額外參數(例如 -l)
--ssh-extra-args=SSH_EXTRA_ARGS指定僅傳遞給 ssh 的額外參數(例如 -R)

特權升級選項:

:--
--ask-sudo-pass詢問 sudo 密碼(已棄用,使用become)
--ask-su-pass詢問 su 密碼(已棄用,使用become)
-K, --ask-become-pass要求提權密碼

另見