一 Inventory简介
Inventory支持对主机进行分组,每个组能够界说多个主机,每个主机都能够界说在任何一个或多个主机内
1.1 Ansible装备文件的优先级
- 首先找履行ansible指令的当前目录中,是否有ansible.cfg文件
- 假如找不到,再找当前用户的家目录下是否有ansible.cfg
- 假如还找不到,就运用大局装备文件/etc/ansible/ansible.cfg
- 要检查当前运用的是哪个装备文件能够运用ansible –version 指令,会显示装备文件途径
1.2 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秒
1.3 主机清单文件演示
1.3.1 通过列表的方法标识主机规模
1.3.2 主机端口指定
1.3.4 假如运用的是主机名
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
1.4 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 | 提高为指定用户权限时的密码 |
1.4.1 主机变量
1.4.2 端口号不对无法履行指令
1.4.3 组变量
1.4.4 all特别变量
1.4.5 组嵌套