Ansible—Inventory主机清单

含义

清查;存货清单;财产目录;主机清单

1、增加主机组

官方链接
    http://docs.ansible.com/ansible/intro_inventory.html#

vi /etc/ansible/hosts
## db-[99:101]-node.example.com
用中括号[]扩起来,中括号里添加信息为  组名(可自定义)
[webserver]
host1
host2

Ansible—Inventory主机清单

测试

[root@ansible ~]# ansible webserver -m ping -o
host2 | UNREACHABLE!: Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

host1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
[root@ansible ~]#

host2失败原因:因为未对host2主机进行配置免密登陆

2、增加用户名 密码

[root@ansible ~]# vi /etc/ansible/hosts
## db-[99:101]-node.example.com
[webserver]
host1
host2 ansible_ssh_user='root' ansible_ssh_pass='123'

Ansible—Inventory主机清单

测试为全部成功

[root@ansible ~]# ansible webserver -m ping -o
host1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
host2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}

另一种方法

vi /etc/ansible/hosts
## db-[99:101]-node.example.com
[webserver]
host[1:2]
host3 ansible_ssh_port='2222'
[1:2]指的是host主机1和主机2
host3指定了sshd端口号,不指定会执行失败

Ansible—Inventory主机清单

3、增加端口

这里我把host2的sshd程序端口修改为’2222’进行测试

[root@ansible ~]# ansible webserver -m ping -o
host2 | UNREACHABLE!: Failed to connect to the host via ssh: ssh: connect to host host2 port 22: Connection refused
host1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
[root@ansible ~]#
失败,因为默认端口已更改

Ansible—Inventory主机清单

配置文件下指定host2端口

vi /etc/ansible/hosts
## db-[99:101]-node.example.com
[webserver]
host1
host2 ansible_ssh_user='root' ansible_ssh_pass='123' ansible_ssh_port='2222'
增加端口信息
[root@ansible ~]# ansible webserver -m ping -o
host1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
host2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
成功

Ansible—Inventory主机清单

4、组:变量

ansible内部变量可以帮助我们简化主机清单的设置

vi /etc/ansible/hosts
[webserver]
host[1:3]
[webserver:vars]           vars指定是‘变量的意思’
ansible_ssh_user='root'
ansible_ssh_pass='123'

Ansible—Inventory主机清单

常用变量:

Ansible—Inventory主机清单

5、子分组

将不同的分组进行组合

vim /etc/ansible/hosts
[nginx]
host[1:2]
[apache]
host3
[webserver:children]                 children内置变量,可以理解定义一个组叫webserver
nginx
apache
[webserver:vars]
ansible_ssh_user='root'
ansible_ssh_pass='123'

ansible webserver -m ping -o       这里的webserver指的是组名

Ansible—Inventory主机清单

6、自定义主机列表

创建一个文件名字为hostlist
vi hostlist
[dockers]
host1
host2
[dockers:vars]
ansible_ssh_user='root'
ansible_ssh_pass='123'
ansible -i  hostlist dockers  -m ping  -o
ansible -i 绝对路径 dockers -m ping -o

-i 指的是链接外部主机清单,后边应该加上绝对路径(如果本身就在文件目录下直接指定’文件名‘即可)
hostlist 文件名
dockers  主机组  组名

Ansible—Inventory主机清单

Original: https://www.cnblogs.com/Jqazc/p/16739173.html
Author: 我真的兔了
Title: Ansible—Inventory主机清单

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578397/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MIT6.828(Step0)——实验环境配置

    实验环境配置 VirtualBox虚拟机为载体,安装Ubuntu $ uname -a Linux eliot-VirtualBox 5.11.0-36-generic #40~2…

    Linux 2023年5月27日
    0104
  • 个人学习记录-Cpp基础-成员初始化列表

    https://blog.csdn.net/XIONGXING_xx/article/details/115553291https://blog.csdn.net/W_Y2010/…

    Linux 2023年6月6日
    098
  • CentOS通过Xshell连接密码错误

    环境:CentOS6.7虚拟机,Xshell7 问题说明:通过Xshell7进行远程登录时,一直提示密码错误。 问题分析排查过程: 1、开始以为是密码错了,经过SVN版本检查等未发…

    Linux 2023年5月28日
    0112
  • JS 模块化- 01 模块化前传

    前端技术的发展不断融入了很多后端的思想,逐步形成前端的 “四个现代化”:工程化、模块化、规范化、流程化。这个主题介绍 模块化 ,主要内容包括模块化前传(早期…

    Linux 2023年6月6日
    0108
  • 30道关于linux的基础命令小题,先练练手

    1.修改主机名为yuanlai0224命令是: 2.切换⽬录到/yuchao01/data/,再创建脚本/my_website/scripts/start.sh。 绝对路径、相对路…

    Linux 2023年5月27日
    0105
  • Mac安装php和redis扩展

    Mac上有特定的包管理工具homebrew,也叫brew,这里的php安装用的就是brew 1安装php brew install php@7.0。 brw安装会自动管理依赖,所以…

    Linux 2023年5月28日
    099
  • Java50个关键字之static

    关键字static主要有两种作用:第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,希望某个方法或属性与类而不是对象关联在一起,也就是说,在不创建对象的…

    Linux 2023年6月7日
    0103
  • 逆波兰表达式

    运用lambda表达式和包装器 150. 逆波兰表达式求值 – 力扣(LeetCode) class Solution { public: int evalRPN(ve…

    Linux 2023年6月13日
    0119
  • Kubernetes服务发现之Service详解

    一、引子 Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然后一旦被销毁生命就永远结束。通过 ReplicationController 能够动态地创建…

    Linux 2023年6月14日
    099
  • 【故障公告】取代 memcached 的 redis 出现问题造成网站故障(已解决)

    6月19日开始,我们将博客站点的缓存服务器从 memcached 换成了 redis,稳定运行了3天,今天上午访问高峰突然出现问题,在 11:00-12:30 期间影响了网站的正常…

    Linux 2023年5月28日
    0116
  • 记vs2019 The view ‘xxx’ was not found.

    版本:Visual Studio 2019 16.8.2/16.8.4.net core 3.1 1.检测是否是拼写错误2.检查.csproj为文件中是否包含有下面的content…

    Linux 2023年6月7日
    0124
  • sql server的简单分页

    — 显示前条数据 select top(4) * from students; –pageSize: 每页显示的条数 –pageNow: 当前页…

    Linux 2023年6月7日
    0121
  • djnago-filter用法

    django-filter用法 集成drf 不指定字段的过滤参数,那么该字段就默认为exact,精准匹配自定义filter文件内 from django_filters impor…

    Linux 2023年6月14日
    0130
  • 【已解决】wordpress 修改固定链接 伪静态URL出现nginx 404错误

    一、站点设置 打开站点设置,选择伪静态,选择wordpress 二、wordpress设置 打开wordpress后台,选择 设置 —》固定链接 选择一个你喜欢的格式点…

    Linux 2023年6月14日
    0110
  • 每天一个 HTTP 状态码 205

    205 Reset Content 表示服务器成功地处理了客户端的请求,要求客户端… 205 Reset Content 205 Reset Content 表示服务器…

    Linux 2023年6月7日
    0123
  • C++ 之处理模板化基类的成员名称

    问题描述 假设有下面这么一段简单的代码,其中定义了两个类模板,一个基类 Animal,一个派生类 Dog: #include #include using namespace st…

    Linux 2023年6月7日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球