ansible中的命令


ansible中有如下命令:
  ansible
  ansible-config
  ansible-doc
  ansible-galaxy
  ansible-inventory
  ansible-playbook
  ansible-pull
  ansible-vault
這些命令有非常多的相同的子選項。

1.ansible

(1)Options:普通選項
  -a MODULE_ARGS:指定模塊的參數
  --ask-vault-pass:密碼保護
  -B SECONDS:異步運行的失敗時間
  -C:不做任何改變; 相反,嘗試預測可能發生的一些變化
  -D:更改(小)文件和模板時,顯示這些文件的差異; 與-C一起使用效果很好
  -e EXTRA_VARS:將其他變量設置為key = value或YAML / JSON,如果filename前綴為@
  -f FORKS:開啟的進程數量,默認5個
  -i INVENTORY:指定HOST文件地址
  -l SUBSET:進一步將所選主機限制為其他模式
  --list-host:輸出匹配主機列表; 不會執行任何其他操作
  -m MODULE_NAME:指定使用哪一個模塊
  -o:將輸出壓縮
  --playbook-dir=BASEDIR:由於此工具不使用playbooks,因此將其用作替代playbook目錄。這為許多功能設置了相對路徑,包括roles / group_vars / etc.
  -P POLL_INTERVAL:設置輪詢間隔,默認為15

(2)Privilege Escalation Options:提權選項
  -b:提權
  --become-method=BECOME_METHOD:要使用的權限升級方法(默認= sudo),請使用`ansible-doc -t成為-l`列出有效的選擇。
  --become-user=BECOME_USER:提權成為那個用戶,默認是root
  -K:要求提供權限提升密碼

(3)Connection Options:連接選項
  -k:詢問連接密碼
  --private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE:指定密鑰文件
  -u REMOTE_USER:使用指定用戶連接,默認None
  -c CONNECTION:指定連接類型,默認為smart
  -T 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的額外參數(例如-l)

 

2.ansible-playbook

運行playbook,執行指定任務。
Usage: ansible-playbook [options] playbook.yml [playbook2 ...]
(1)Options:普通選項
  -ask-vault-pass
  -C, --check
  -D, --diff
  -e EXTRA_VARS, --extra-vars=EXTRA_VARS
  --flush-cache:清除inventory主機的fact緩存
  --force-handlers:即使任務失敗,也要運行處理程序
  -f FORKS
  -i INVENTORY
  -l SUBSET
  --list-hosts
  --list-tags:列出所有的可用標簽
  --list-tasks:列出將要執行的所有任務
  -M MODULE_PATH, --module-path=MODULE_PATH
  --skip-tags=SKIP_TAGS:僅運行其標簽與這些值不匹配的播放和任務
  --start-at-task=START_AT_TASK:在匹配此名稱的任務中運行playbook
  --step:在運行之前確認每個任務
  --syntax-check:對playbook進行於法檢測
  -t TAGS, --tags=TAGS:僅運行使用這些值標記的操作和任務
  --vault-id=VAULT_IDS:需要使用的vault特性
  --vault-password-file=VAULT_PASSWORD_FILES:vault密碼文件
  -v, --verbose:詳細模式(-vvv表示更多,-vvvv表示啟用連接調試)
  --version:打印ansible的版本

(2)Privilege Escalation Options:提權選項
  -b, --become
  --become-method=BECOME_METHOD
  --become-user=BECOME_USER
  -K, --ask-become-pass

(3)Connection Options:連接選項
  -k, --ask-pass
  --private-key=PRIVATE_KEY_FILE
  -u REMOTE_USER, --user=REMOTE_USER
  -c CONNECTION, --connection=CONNECTION
  -T TIMEOUT, --timeout=TIMEOUT
  --ssh-common-args=SSH_COMMON_ARGS
  --sftp-extra-args=SFTP_EXTRA_ARGS
  --scp-extra-args=SCP_EXTRA_ARGS
  --ssh-extra-args=SSH_EXTRA_ARGS

 

3.ansible-config

編輯、查看和管理ansible的配置信息。
Usage: ansible-config [dump|list|view] [--help] [options] [ansible.cfg]
options:
  -c CONFIG_FILE, --config=CONFIG_FILE:指定配置文件的路徑
  -h,--help:顯示幫助信息
  -v, --verbose:詳細模式(-vvv表示更多,-vvvv表示啟用連接調試)
  --version:打印ansible的版本信息

可能一套主機有多個配置文件,默認是/etc/ansible/ansible.cfg.
ansible-config:查看默認配置

[root@centos01 ansible]# ansible-config dump
ACTION_WARNINGS(default) = True
AGNOSTIC_BECOME_PROMPT(default) = True
ALLOW_WORLD_READABLE_TMPFILES(default) = False
ANSIBLE_CONNECTION_PATH(default) = None
ANSIBLE_COW_PATH(default) = None
ANSIBLE_COW_SELECTION(default) = default
ANSIBLE_COW_WHITELIST(default) = ['bud-frogs', 'bunny', 'cheese', 'daemon', 'default', 'dragon', 'elephant-in-snake', 'elephant', 'eyes', 'hellokitty', 'kitty', 'luke-
ANSIBLE_FORCE_COLOR(default) = False
ANSIBLE_NOCOLOR(default) = False
ANSIBLE_NOCOWS(default) = False
ANSIBLE_PIPELINING(default) = False
ANSIBLE_SSH_ARGS(default) = -C -o ControlMaster=auto -o ControlPersist=60s

ansible-config list:對於配置文件中每個配置項的解釋,包括環境、默認值、類型等等

[root@centos01 ansible]# ansible-config list
ACTION_WARNINGS:
  default: true
  description: [By default Ansible will issue a warning when received from a task
      action (module or action plugin), These warnings can be silenced by adjusting
      this setting to False.]
  env:
  - {name: ANSIBLE_ACTION_WARNINGS}
  ini:
  - {key: action_warnings, section: defaults}
  name: Toggle action warnings
  type: boolean
  version_added: '2.5'

ansible-config view:打印配置文件的內容

[root@centos01 ansible]# ansible-config view
# config file for ansible -- https://ansible.com/
# ===============================================

# nearly all parameters can be overridden in ansible-playbook
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first

[defaults]

# some basic default values...
    .....(這就是ansible.cfg的內容)

如果想要查找某一項的內容,可以使用grep、awk來過濾。

 

4.ansible-doc

文檔工具
Usage: ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [plugin]
Options:
  -h, --help:查看幫助信息
  -j, --json:**僅限內部測試**轉儲json元數據所有插件。
  -l, --list:顯示所有模塊名及其描述信息。
  -F, --list_files:顯示所有模塊名及其模塊路徑
  -M MODULE_PATH, --module-path=MODULE_PATH:設定模塊的路徑,default=~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
  -s, --snippet:顯示指定插件的playbook代碼段
  -t TYPE, --type=TYPE:選擇哪種插件類型(默認為“模塊”)。
  -v, --verbose:
  --version

 

5.ansible-pull

從VCS存儲庫中提取Playbooks並為本地主機執行.
Usage: ansible-pull -U <repository> [options] [<playbook.yml>]
(1)Options:普通選項
  --accept-host-key:如果尚未添加,則為repo url添加hostkey
  --ask-vault-pass
  -C CHECKOUT, --checkout=CHECKOUT:branch / tag / commit to checkout。 默認為行為存儲庫模塊。
  --clean:工作存儲庫中的已修改文件將被丟棄
  --diff
  -d DEST, --directory=DEST:查看存儲庫的目錄結構
  -e EXTRA_VARS, --extra-vars=EXTRA_VARS
  -f, --force:即使存儲庫不能,也要運行playbook更新
  --full:深復制而不是淺復制。
  -i INVENTORY, --inventory=INVENTORY, --inventory-file=INVENTORY
  -l SUBSET, --limit=SUBSET
  --list-hosts
  -m MODULE_NAME, --module-name=MODULE_NAME:存儲庫模塊名稱,默認是git
  -M MODULE_PATH, --module-path=MODULE_PATH:添加模塊庫路徑
  -o, --only-if-changed:如果存儲庫已經存在,則僅運行playbook更新
  --purge :在playbook執行結束之后清除
  --skip-tags=SKIP_TAGS
  -s SLEEP, --sleep=SLEEP::在開始之前以隨機間隔(在0和n秒之間)休眠。 這是分散git請求的有用方法
  -t TAGS, --tags=TAGS
  --track-subs:子模塊將跟蹤最新的更改。 這相當於為git子模塊更新指定了--remote標志
  -U URL, --url=URL:playbook倉庫的url
  --vault-id=VAULT_IDS
  --vault-password-file=VAULT_PASSWORD_FILES
  -v, --verbose
  --verify-commit:驗證簽出提交的GPG簽名,如果失敗則中止運行playbook。 這需要相應的VCS模塊來支持這種操作
  --version

(2)Connection Options:連接選項
  -k, --ask-pass
  --private-key=PRIVATE_KEY_FILE
  -u REMOTE_USER, --user=REMOTE_USER
  -c CONNECTION, --connection=CONNECTION
  -T TIMEOUT, --timeout=TIMEOUT
  --ssh-common-args=SSH_COMMON_ARGS
  --sftp-extra-args=SFTP_EXTRA_ARGS
  --scp-extra-args=SCP_EXTRA_ARGS
  --ssh-extra-args=SSH_EXTRA_ARGS

(3)Privilege Escalation Options:提權選項
  -K, --ask-become-pass

 

6.ansible-inventory

Usage: ansible-inventory [options] [host|group]
(1)Options:
  --ask-vault-pass
  --export:在執行--list時,以一種針對導出進行優化的方式表示,而不是作為Ansible如何處理它的准確表示
  -i INVENTORY, --inventory=INVENTORY, --inventory-file=INVENTORY
  --output=OUTPUT_FILE:在執行--list時,將庫存發送到文件而不是屏幕
  --playbook-dir=BASEDIR
  --toml:使用TOML格式而不是默認的JSON,忽略--graph
  --vars:將vars添加到graphs
  --vault-id=VAULT_IDS
  --vault-password-file=VAULT_PASSWORD_FILES
  -v, --verbose
  --version
  -y, --yaml:使用yaml替換默認的json格式

(2)Actions:
  --list:輸出所有主機信息,作為庫存腳本
  --host=HOST:輸出特定主機信息,作為庫存腳本
  --graph:創建庫存圖,如果提供必須的模式是一個有效的組名

示例1:

[root@centos01 ansible]# ansible-inventory --list
{
    "_meta": {
        "hostvars": {
            "148.70.120.50": {
                "ansible_ssh_pass": "467661568cx."
            }, 
            "148.70.122.28": {
                "ansible_ssh_pass": "467661568cx."
            }
        }
    }, 
    "all": {
        "children": [
            "node", 
            "ungrouped"
        ]
    }, 
    "node": {
        "hosts": [
            "148.70.120.50", 
            "148.70.122.28"
        ]
    }
}

示例2:

@all:
  |--@node:
  |  |--148.70.120.50
  |  |--148.70.122.28
  |--@ungrouped:

 

7.ansible-vault

加密解密ansible中的數據文件。
Usage: ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]
(1)action
create:創建並加密文件
decrypt:加密一個文件
encrypt:解密一個文件
rekey:修改密鑰
view:打印加密文件的內容

(2)options
  --ask-vault-pass
  --new-vault-id=NEW_VAULT_ID
  --new-vault-password-file=NEW_VAULT_PASSWORD_FILE:用於重新密鑰的新保管庫密碼文件
  --vault-id=VAULT_IDS
  --vault-password-file=VAULT_PASSWORD_FILES
  -v, --verbose
  --version

 

8.ansible-galaxy

  執行各種角色相關操作。
Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
(1)options
  -c, --ignore-certs:忽略SSL證書驗證錯誤。
  -s API_SERVER, --server=API_SERVER:API服務器目標地址
  -v, --verbose
  --version

(2)action
  delete
  import
  info
  init
  install
  list
  login
  remove
  search
  setup


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM