Ansible——inventory 主机清单
创始人
2024-03-27 19:54:11
0

Ansible——inventory 主机清单

  • Ansible——inventory 主机清单
    • inventory简介
    • ansible配置文件的优先级
    • ansible命令常用参数
    • 主机清单文件hosts(/etc/ansible/hosts)
      • 通过列表的方式标识主机范围
      • 指定主机端口
      • 使用主机名表示主机范围
    • inventory 中的变量
      • 主机变量
      • 组变量
      • 组嵌套

Ansible——inventory 主机清单

inventory简介

Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。

ansible配置文件的优先级

  • 首先找执行ansible命令的当前目录中,是否有ansible.cfg文件
  • 如果找不到,再找当前用户的家目录下是否有ansible.cfg
  • 如果还找不到,就使用全局配置文件/etc/ansible/ansible.cfg
  • 要检查当前使用的是哪个配置文件可以使用ansible --version 命令,会显示配置文件路径

ansible命令常用参数

参数功能
-m要执行的模块,默认为command
-a指定模块的参数
-ussh连接的用户名,默认用root,ansible.cfg中可以配置
-b,–become变成那个用户身份,不提示密码
-k提示输入ssh登录密码,当使用密码验证的时候用
-ssudo运行
-Usudo到哪个用户,默认为root
-K提示输入sudo密码,当不是NOPASSWD模式时使用
-C只是测试一下会改变什么内容,不会真正去执行
-c连接类型(default=smart)
-ffork多少进程并发处理,默认为5个
-i指定hosts文件路径,默认default=/etc/ansible/hosts
-I指定pattern,对已匹配的主机中再过滤一次
-list-host只打印有哪些主机会执行这个命令,不会实际执行
-M要执行的模块路径,默认为/usr/share/ansible
-o压缩输出,摘要输出
–private-key私钥路径
-Tssh连接超时时间,默认是10秒

主机清单文件hosts(/etc/ansible/hosts)

通过列表的方式标识主机范围

如果是名称类似的主机,可以使用列表的方式标识各个主机。

[webservers]
192.168.44.[10:30]    #表示192.168.44.10到192.168.44.30的连续主机
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110

在这里插入图片描述

指定主机端口

[webservers]
192.168.44.20:8080      #指定主机192.168.44.20端口号为8080
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110

在这里插入图片描述

使用主机名表示主机范围

db-[a:f].example.org	#支持匹配 a~f

inventory 中的变量

Inventory变量名含义
ansible_hostansible连接节点时的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/su/runas等方式
ansible_become_user提升为哪个用户的权限,默认提升为root
ansible_become_password提升为指定用户权限时的密码

主机变量

[webservers]
192.168.44.20 ansible_port=22 ansible_user=root ansible_password=123123#ansible_port=22,指定端口号
#ansible_user=root,指定用户
#ansible_password=123123,指定密码

在这里插入图片描述
在这里插入图片描述

组变量

[webservers:vars]			#表示为 webservers 组内所有主机定义变量
ansible_user=root
ansible_password=123123[all:vars]					#表示为所有组内的所有主机定义变量
ansible_port=22

在这里插入图片描述

组嵌套

[webservers]
192.168.44.20[dbservers]
192.168.44.30[testservers:children]     #表示组中包含webservers和dbservers的所有主机
webservers
dbservers

在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...