3422饿111111 发表于 2017-2-22 10:49:16

Ansible基础一Playbook(三)

ansible-pull
让托管节点从一个 central location 做 check in 获取配置信息,它是一个小脚本,它从 git 上 checkout 一个关于配置指令的 repo,然后以这个配置指令来运行 ansible-playbook.
# ansible-pull -h
Usage: ansible-pull -U <repository>

Options:
--accept-host-key   adds the hostkey for the repo url if not already added
--ask-vault-pass      ask for vault password
-C CHECKOUT, --checkout=CHECKOUT
                        branch/tag/commit to checkout.Defaults to behavior
                        of repository module.
--clean               modified files in the working repository will be
                        discarded
-d DEST, --directory=DEST
                        directory to checkout repository to
-e EXTRA_VARS, --extra-vars=EXTRA_VARS
                        set additional variables as key=value or YAML/JSON
-f, --force         run the playbook even if the repository could not be
                        updated
--full                Do a full clone, instead of a shallow one.
-h, --help            show this help message and exit
-i INVENTORY, --inventory-file=INVENTORY
                        specify inventory host path
                        (default=/etc/ansible/hosts) or comma separated host
                        list.
-l SUBSET, --limit=SUBSET
                        further limit selected hosts to an additional pattern
--list-hosts          outputs a list of matching hosts; does not execute
                        anything else
-m MODULE_NAME, --module-name=MODULE_NAME
                        Repository module name, which ansible will use to
                        check out the repo. Default is git.
-M MODULE_PATH, --module-path=MODULE_PATH
                        specify path(s) to module library (default=None)
--new-vault-password-file=NEW_VAULT_PASSWORD_FILE
                        new vault password file for rekey
-o, --only-if-changed
                        only run the playbook if the repository has been
                        updated
--output=OUTPUT_FILEoutput file name for encrypt or decrypt; use - for
                        stdout
--purge               purge checkout after playbook run
--skip-tags=SKIP_TAGS
                        only run plays and tasks whose tags do not match these
                        values
-s SLEEP, --sleep=SLEEP
                        sleep for random interval (between 0 and n number of
                        seconds) before starting. This is a useful way to
                        disperse git requests
-t TAGS, --tags=TAGSonly run plays and tasks tagged with these values
--track-subs          submodules will track the latest changes This is
                        equivalent to specifying the --remote flag to git
                        submodule update
-U URL, --url=URL   URL of the playbook repository
--vault-password-file=VAULT_PASSWORD_FILE
                        vault password file
-v, --verbose         verbose mode (-vvv for more, -vvvv to enable
                        connection debugging)
--verify-commit       verify GPG signature of checked out commit, if it
                        fails abort running the playbook. This needs the
                        corresponding VCS module to support such an operation
--version             show program's version number and exit

Connection Options:
    control as whom and how to connect to hosts

    -k, --ask-pass      ask for connection password
    --private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE
                        use this file to authenticate the connection
    -u REMOTE_USER, --user=REMOTE_USER
                        connect as this user (default=None)
    -c CONNECTION, --connection=CONNECTION
                        connection type to use (default=smart)
    -T TIMEOUT, --timeout=TIMEOUT
                        override the connection timeout in seconds
                        (default=30)
    --ssh-common-args=SSH_COMMON_ARGS
                        specify common arguments to pass to sftp/scp/ssh (e.g.
                        ProxyCommand)
    --sftp-extra-args=SFTP_EXTRA_ARGS
                        specify extra arguments to pass to sftp only (e.g. -f,
                        -l)
    --scp-extra-args=SCP_EXTRA_ARGS
                        specify extra arguments to pass to scp only (e.g. -l)
    --ssh-extra-args=SSH_EXTRA_ARGS
                        specify extra arguments to pass to ssh only (e.g. -R)

Privilege Escalation Options:
    control how and which user you become as on target hosts

    --ask-sudo-pass   ask for sudo password (deprecated, use become)
    --ask-su-pass       ask for su password (deprecated, use become)
    -K, --ask-become-pass
                        ask for privilege escalation password

在执行一个 playbook 之前,想看看这个 playbook 的执行会影响到哪些 hosts,你可以这样做:
ansible-playbook playbook.yml --list-hosts


页: [1]
查看完整版本: Ansible基础一Playbook(三)