Inventory简介
Inventory支撑对主机进行分组,每个组能够界说多个主机,每个主机都能够界说在任何一个或多个主机内。
Ansible配置文件的优先级
- 首先找履行ansible指令的当前目录中,是否有ansible.cfg文件
- 假如找不到,再找当前用户的家目录下是否有ansible.cfg
- 假如还找不到,就运用全局配置文件/etc/ansible/ansible.cfg
- 要查看当前运用的是哪个配置文件能够运用ansible –version 指令,会显现配置文件途径
Ansible指令常用参数
参数 | 功用 |
---|---|
-m | 要履行的模块,默以为command |
-a | 指定模块的参数 |
-u | ssh衔接的用户名,默许用root,ansible.cfg中能够配置 |
-b,–become | 变成那个用户身份,不提示暗码 |
-k | 提示输入ssh登录暗码,当运用暗码验证的时候用 |
-s | sudo运转 |
-U | sudo到哪个用户,默以为root |
-K | 提示输入sudo暗码,当不是NOPASSWD形式时运用 |
-C | 仅仅测试一下会改动什么内容,不会真实去履行 |
-c | 衔接类型(default=smart) |
-f | fork多少进程并发处理,默以为5个 |
-i | 指定hosts文件途径,默许default=/etc/ansible/hosts |
-I | 指定pattern,对已匹配的主机中再过滤一次 |
-list-host | 只打印有哪些主机会履行这个指令,不会实践履行 |
-M | 要履行的模块途径,默以为/usr/share/ansible |
-o | 压缩输出,摘要输出 |
–private-key | 私钥途径 |
-T | ssh衔接超时时间,默许是10秒 |
主机清单文件hosts
文件方位/etc/ansible/hosts
通过列表的方法标识主机规模
假如是名称相似的主机,能够运用列表的方法标识各个主机。
主机端口指定
用主机名标识主机规模
db-test-a.example.com
db-test-b.example.com
db-test-c.example.com
db-test-d.example.com
db-test-e.example.com
db-test-f.example.com
能够这样标识一个规模
db-test-[a:f].example.com
inventory 中的变量
inventory变量名 | 意义 |
---|---|
ansible_host | ansible衔接节点时的IP地址 |
ansible_port | 衔接对方的端口号,ssh衔接时默以为22 |
ansible_user | 衔接对方主机时运用的用户名。不指定时,将运用履行ansible或ansible-playbook指令的用户 |
ansible_password | 衔接时的用户的ssh暗码,仅在未运用密钥对验证的情况下有用 |
ansible_ssh_private_key_file | 指定密钥认证ssh衔接时的私钥文件 |
ansible_ssh_common_args | 提供给ssh,sftp,scp指令的额外参数 |
ansible_become | 允许进行权限额外提高 |
ansible_become_method | 指定提高权限的方法,列如可运用sudo/runas等方法 |
ansible_become_user | 提高为哪个用户的权限,默许提高为root |
ansible_become_password | 提高为指定用户权限时的暗码 |
主机变量
不主张直接用暗码,主张运用免交互。不过为了此处试验作用,还是删掉.ssh中的authorized_keys文件,使得不能免密登录远程主机。
假如指定的端口号有误,将无法履行指令。
组变量
all
all表示所有组内的所有主机界说变量
组嵌套