ansible 入门基础
2019-04-22 本文已影响0人
无处安放的躁动
情景
为什么学习ansible
- 原因就是你为什么要来找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