ansible 入门基础

2019-04-22  本文已影响0人  无处安放的躁动

情景

为什么学习ansible

安装配置ansible

yum -y install ansible ansible-doc
#修改配置文件
把下面的参数前面的#去掉
vim /etc/ansible/ansible.cfg
[defaults]
# some basic default values...
inventory      = /etc/ansible/hosts
library        = /usr/share/my_modules/
module_utils   = /usr/share/my_module_utils/
remote_tmp     = ~/.ansible/tmp
local_tmp      = ~/.ansible/tmp
#根据配置文件,配置hosts
vim /etc/ansible/hosts
[k8s]
k8sMaster
k8sworker2
k8sworker1

测试

ansible k8s -m ping 
k8sworker1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
k8sworker2 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
k8sMaster | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

ansible

Usage: ansible <host-pattern> [options]

Define and run a single task 'playbook' against a set of hosts

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,如果filename前缀为@
  -f FORKS, --forks=FORKS             指定要使用的并行进程数(默认值= 5)
  -h, --help                          显示帮助信息并推出
  -i INVENTORY, --inventory=INVENTORY, --inventory-file=INVENTORY
                                      指定库存主机路径或逗号分隔的主机列表。 --inventory-file已弃用
  -l SUBSET, --limit=SUBSET           进一步将所选主机限制为其他模式
  --list-hosts                        输出匹配主机列表; 不会执行任何其他操作
  -m MODULE_NAME, --module-name=MODULE_NAME  
                                      要执行的模块名称(default = command)
  -M MODULE_PATH, --module-path=MODULE_PATH  
                                      将冒号分隔的路径预先添加到模块库(默认= [u'/usr /share/my_modules'])
  -o, --one-line                      简易输出
  --playbook-dir=BASEDIR              由于此工具不使用playbooks,因此将其用作替代playbook目录。这将设置许多功能的相对路径,包括roles / group_vars / etc.
  -P POLL_INTERVAL, --poll=POLL_INTERVAL  
                                      如果使用-B(默认值= 15),则设置轮询间隔
  --syntax-check                      对playbook执行语法检查,但不执行它
  -t TREE, --tree=TREE                将输出记录到此目录
  --vault-id=VAULT_IDS                要使用的保管库标识
  --vault-password-file=VAULT_PASSWORD_FILES   
                                      保管库密码文件
  -v, --verbose                       详细模式(-vvv表示更多,-vvvv表示启用连接调试)
  --version                           显示程序的版本号并退出

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

    -k, --ask-pass                    询问连接密码
    --private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE 
                                      使用文件中的key去认证连接
    -u REMOTE_USER, --user=REMOTE_USER 
                                      以此用户身份连接(默认=无)
    -c CONNECTION, --connection=CONNECTION 
                                      要使用的连接类型(default=smart)
    -T TIMEOUT, --timeout=TIMEOUT     连接超时,默认10s
    --ssh-common-args=SSH_COMMON_ARGS  指定传递给sftp / scp / ssh的公共参数(例如 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

    -s, --sudo          run operations with sudo (nopasswd) (deprecated, use
                        become)
    -U SUDO_USER, --sudo-user=SUDO_USER
                        desired sudo user (default=root) (deprecated, use
                        become)
    -S, --su            run operations with su (deprecated, use become)
    -R SU_USER, --su-user=SU_USER
                        run operations with su as this user (default=None)
                        (deprecated, use become)
    -b, --become                    运行操作成为(不暗示密码提示)
    --become-method=BECOME_METHOD
                        要使用的权限升级方法 (default=sudo),
                        valid choices: [ sudo | su | pbrun | pfexec | doas |
                        dzdo | ksu | runas | pmrun | enable | machinectl ]
    --become-user=BECOME_USER
                        run operations as this user (default=root)
    --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

推荐文档

Ansible中文权威指南

上一篇下一篇

猜你喜欢

热点阅读