Ansible---inventory 主机清单

一、inventory 主机清单

1.1、inventory介绍

hosts配置文件位置:/etc/ansible/hosts

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

1.2、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/su/runas等方式
ansible_become_user 提升为哪个用户的权限,默认提升为root
ansible_become_password 提升为指定用户权限时的密码

1.3、主机变量

css 复制代码
写法1:
[james23]
192.168.10.101 ansible_port=22 ansible_user=root ansible_password=123
192.168.10.102 ansible_port=22 ansible_user=root ansible_password=123
#james23组中被控制端192.168.10.101的端口号为22登录时用户是root密码为123
 
写法2:
[james23]
192.168.10.10[1:2] ansible_port=22 ansible_user=root ansible_password=123
#如果是名称类似的主机,可以使用列表的方式标识各个主机
 
#不建立将密码直接写入配置,不安全
 
写法3:
[james23]
192.168.10.101:22
192.168.10.102:22
#默认ssh管理时的端口为22,若不是22则直接在被管理ip后加冒号和对应端口号

方法一:修改端口

css 复制代码
[james23]
192.168.10.101
192.168.10.102:1212

方法二

1.4、组变量

css 复制代码
[james23:vars]  #表示为webservers组内所有主机自定义变量
ansible_user=root
ansible_password=123
#表示webservers 组内所有主机定义变量控制时使用root账户密码为abc123

[all:vars]          #表示为所有组内的所有主机自定义变量
ansible_port=22
#表示为所有组的所有主机定义变量使用ssh远程管理时都是22端口

修改被控制端口为1212

检测

1.5、嵌套组

css 复制代码
[james23]
192.168.10.101
192.168.10.102

[kobe24]
192.168.10.10[3:4]

[webs:children]  #表示为webs主机组中包含了nginx和tomcat组内所有主机
james23
kobe24
#表示web组的成员即children的直译'孩子'包括nginx和httpd组

检测

总结

(1)Ansible其中一个比较鲜明的特性Agentless,即无Agent的存在,只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。

(2)Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。

相关推荐
元清加油1 小时前
【Golang】:函数和包
服务器·开发语言·网络·后端·网络协议·golang
焄塰2 小时前
Ansible 管理变量和事实
学习·centos·ansible
炫友呀2 小时前
Centos 更新/修改宝塔版本
linux·运维·centos
向日葵.3 小时前
fastdds.ignore_local_endpoints 属性
服务器·网络·php
IT成长日记3 小时前
【自动化运维神器Ansible】Playbook中的when条件判断:精细化控制任务执行
运维·自动化·ansible·playbook·when·条件判断
昵称为空C5 小时前
SpringBoot接口限流的常用方案
服务器·spring boot
Peter_Deng.6 小时前
Linux 下基于 TCP 的 C 语言客户端/服务器通信详解(三个示例逐步进阶)
服务器·c语言·网络
花小璇学linux6 小时前
imx6ull-驱动开发篇24——Linux 中断API函数
linux·驱动开发·嵌入式软件
林开落L6 小时前
库制作与原理(下)
linux·开发语言·centos·库制作与原理
wxy3197 小时前
嵌入式LINUX——————TCP并发服务器
java·linux·网络