ansible-inventory-学习笔记

知识介绍

inventory 文件不要带后缀,否则还要修改配置文件来忽略后缀

inventory 可以定义为目录,下边包含多个 inventory 文件

动态添加主机

可以通过 add_host 模块来添加主机,通过 group_by 临时设置主机组,这种方式添加的主机或组都只在内存中,只在 ansible 允许时生效,退出之后就消失

变量

没有免密的情况下,可以使用 ansible_ssh_useransible_ssh_pass 等变量,如下所示

10.20.9.[11:12] ansible_ssh_user=root ansible_ssh_pass=test
Inventory 变量名含义
Ansible_host
Ansible_port
Ansible_user
Ansible_password
Ansible_connection连接类型,有效值包括 smart、ssh、paramiko、local、docker等,默认为smart
ansible_ssh_private_key_file
Ansible_ssh_common_args
Ansible_become允许进行权限提升
Ansible_become_method指定提升权限的方式
Ansible_become_user
Ansible_become_password提升用户权限时的密码

connection

local:表示在 ansible 端本地执行任务

使用 ansible -c local 可以指定 connection 的方式

示例

变量示例

[ecs]
example.com

[ecs:vars]
ansible_user='root'
ansible_port='22'

嵌套

[ecs]
houm01.com

[demo]
10.20.99.106 ansible_user=root

[mysrv:children]
ecs
demo

命令

# 查看主机列表信息
ansible-inventory -i inventory --list
ansible-inventory -i inventory --graph
ansible-inventory -i inventory cn2 --graph
ansible-inventory -i inventory cn2 --graph --vars

问题处理

ansible_ssh_pass 问题

使用了 ansible_ssh_hostansible_ssh_pass 后,需要安装 ssh_pass 才行,Linux 直接安装 ssh_pass 即可,macOS 则需要使用 brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb 安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值