什么是 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:8868tianci.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、sshansible_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

ansible Inventory相关推荐

  1. Ansible Inventory指北进阶

    Ansible的inventory文件定义了它要操作的一些主机,它可以通过inventory对这些主机进行操控.默认的inventory文件是/etc/ansible/hosts .也可通过-i选项, ...

  2. Ansible Inventory内置参数

    参考文章:Ansible Inventory内置参数 - 简书 How to build your inventory - Ansible Documentation /etc/ansible/hos ...

  3. Ansible inventory文件详解

    我们知道inventory主要用来管理managed nodes(host),定义playbook要在哪些远程机器上执行.如果不熟悉inventory的角色的,可以参考ansible playbook ...

  4. Ansible系列-基础篇-Ansible Inventory的合理化配置

    欢迎关注个人公众号 DailyJobOps 原文地址:Ansible系列-基础篇-Ansible Inventory的合理化配置 这里写目录标题 Ansible Inventory内置参数 Inven ...

  5. Ansible — Inventory 清单文件

    目录 文章目录 目录 Inventory 清单文件 Groups 与 Hosts 对象 嵌套 Groups Hostname 通配符 Inventory 清单文件的参数说明 Inventory 清单文 ...

  6. ansible inventory 主机清单配置

    文章目录 环境介绍 ansible ssh配置 操作 测试 /etc/hosts 配置 Inventory文件 主机与组 主机变量.组变量 把一个组变成另一个组的子成员 变量太多了,不好管理怎么办?来 ...

  7. Ansible Inventory

    配置文件在/etc/ansible/hosts,可以使用-i <path>来指定特殊的inventory 参数 描述 ansible_connection 连接类型smart, ssh , ...

  8. [ansible系列③]Ansible Inventory配置及详解

    简介 Inventory是ansible管理主机信息的配置文件,相当于我们系统的hosts文化的功能,默认存放在/etc/ansible/hosts.为了批量管理主机,便捷使用其中的主机分组,ansi ...

  9. Ansible Inventory详细使用介绍

    文章目录 环境介绍 ansible ssh配置 操作 测试 /etc/hosts 配置 Inventory文件 主机与组 主机变量.组变量 把一个组变成另一个组的子成员 变量太多了,不好管理怎么办?来 ...

最新文章

  1. leetcode算法第9题
  2. 什么是“ 2的补码”?
  3. wpf Visibility 动画
  4. configSections
  5. Web开发者不可不知的16条原则
  6. html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示
  7. LG电子发布旋转双屏5G手机Wing 售价约6800元
  8. menuconfig 菜单配置
  9. Jenkins下的Pipeline流水线入门篇
  10. 阿里云对象存储OSS简介
  11. 单片机学习入门一 学习概述
  12. 服务器 ssd虚拟内存设置,ssd虚拟内存怎么设置最好
  13. 【蓝桥杯】单片机教程
  14. 解决click事件在移动端操作延迟300ms问题和点击时穿透问题
  15. 中国蜗牛行业市场供需与战略研究报告
  16. Go调用Python by go-python3
  17. SAPトランザクション一覧(メモ)
  18. re模块(正则表达式)
  19. 解决SQL_Server2000“以前的某个程序安装已在安装计算机上创建挂起的文件操作。安装程序前必须重新启动计算机”
  20. VB版机房收费系统流程图--00

热门文章

  1. c语言程序输出s是什么,C语言中printf格式化输出函数
  2. Docker 命令基础及进阶
  3. 个人计算机操作系统支持多用户多任务,windows10是一个多用户多任务操作系统吗...
  4. iPhone无法开机? 一招帮你“救活”
  5. JavaWeb:掌握Session的使用,完善用户登录注册案例的功能
  6. Arction图表控件LightningChart振动分析可以检测什么?
  7. H2O机器学习:一种强大的可扩展的人工智能和深度学习技术
  8. 计算机硬盘硬盘共享如何设置,两台电脑如何共享文件夹?Win10设置共享文件夹或共享磁盘的方法...
  9. ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
  10. 1359: 最大公约数