ansible Inventory

什么是 Inventory?

​ Ansible 可同时操作属于一个组的多台主机,组合主机之间的关系通过 Inventory 文件配置,默认的路径为 /etc/ansible/hosts

案例:

192.168.116.101

[webservers]
192.168.116.102
tianci.com


192.168.116.101 表示不属于任何组,就是一台服务器

[ ] 内的为组名,一个主机可以属于不同的组,一台服务器可以同时A 和 B两个组

主机可以是 IP地址 也可以是 域名

Ansible Inventory 如何指定连接端口库

  • 如果连接的端口不是 22 ,需要指定对应的端口

1)修改Hosts 文件

  • 在 Hosts 文件中,在域名或者IP地址,加上冒号端口号

例子:

[webservers]

192.168.116.102:8868

tianci.com:9963

Ansible Inventory 为主机起别名

  • ip或域名太长,起个别名
name ansible_ssh_port=port ansible_ssh_host=ip
web ansible_ssh_port=22 ansible_ssh_host=192.168.116.102 ansible_ssh_host=web

参数:

name						别名

ansible_ssh_port=			ssh连接的端口号

ansible_ssh_host=			ssh连接的主机

ansible_ssh_user=			ssh连接的用户

ansible_ssh_pass=			ssh登录的密码

ansible_sudo_pass=			sudo密码,普通用户,但是可以使用sudo获取权限

ansible_sudo_exe			sudo执行的命令路径

ansible_connection			与主机的连接类型,例 local、ssh

ansible_ssh_private_key_file	

ansible_shell_type			目标系统的shell 系统

  • 默认使用ROOT用户登录

    • 但是我们不想使用ROOT 登录
name ansible_ssh_port=port ansible_ssh_host=ip ansible_ssh_user=user-name
web ansible_ssh_port=22 ansible_ssh_host=192.168.116.102 ansible_ssh_host=web

Ansible Inventory 分组内机器太多

  • 加入要部署 192.168.116.101–150 中的 50 台机器,在编写的时候比较麻烦

  • 使用IP地址

    • [ ] 表示一个范围, 101–150 的主机
[web servers]
192.168.116.[101:150]
  • 使用域名

    • 不仅支持数字,英文字符也可以
[web servers]
www[a-e].tianci.com

Ansible——Inventory 分文件管理

  • 当组特别多时,不好进行管理,所以需要份文件管理
    • 一个文件就是一个组
    • 在 /etc/ansible 目录下建立目录
      • group_vars 存放分组信息,一个文件就是一个组,文件名就是组名
      • host_vars 存放不分组的信息,散台
/etc/ansible/group_vars/webservers
/etc/ansible/group_vars/dbservers

Ansible Patterns

  • 在 Ansible 中 Patterns 是指我们通过类正则表达式的方式,决定于那台主机进行交互

1) 指定Host机器

  • 指定单个Host
ansible 192.168.116.103 -m ping
  • all 或者星号(*)
ansible all -m ping
  • 指定一组连续的机器
ansible 192.168.116.* -m ping
  • 指定不连续的机器
ansible 192.168.116.103:192.168.116.105 -m ping

2) 指定组

  • 指定单个组
ansible webserves -m ping
  • 指定多个组
ansible webserves:dbservers -m ping
  • 指定在 webservers组但是不在 dbservers组的
ansible webserves:!dbservers -m ping
  • 指定同时在 webservers 组 和 dbservers组的
ansible webserves:&dbservers -m ping
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值