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)

大家都在看

  • python中的cls和self区别

    self:Always use self for the first argument to instance methods self是作为类进行实例化传递的第一个参数,也就是我…

    Linux 2023年6月14日
    090
  • Windows下PowerShell监控Keepalived

    一、 背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell…

    Linux 2023年5月28日
    091
  • 增加Apache响应时间

    在apache的配置文件 httpd.conf 最下面加上下面代码,增加响应时间 FcgidProcessLifeTime 8200 FcgidIOTimeout 8200 Fcg…

    Linux 2023年6月7日
    094
  • QString转char *

    故事背景:最近用到阿里云的OSS,里面用到了好多char *,但是我QT里面都是QString,我尝试用QString::fromstdstring(“”)…

    Linux 2023年6月13日
    081
  • Python List 中的append 和 extend 的区别

    方法的参数不同 append 方法是向原list的末尾添加一个对象(任意对象;如元组,字典,列表等),且只占据一个原list的索引位,添加后无返回值,直接在原列表中添加。 list…

    Linux 2023年6月7日
    084
  • 初识前后端

    初识前后端 在学习了解前后端的过程中,自己看到了这一篇好的文章,摘下了一些当下用的的内容,供复习参考。 什么是前端开发? 前端开发主要涉及网站和 App,用户能够从 App 屏幕或…

    Linux 2023年6月13日
    0110
  • linux-0.11分析:进程初始化函数init(),第一部分setup((void *) &drive_info) ,第十二篇随笔

    进程的初始化函数, init() 先看看这个函吧: void init(void) { int pid,i; setup((void *) &drive_info); (v…

    Linux 2023年6月7日
    095
  • JPA作持久层操作

    JPA(Hibernate是jpa的实现) jpa是对实体类操作,从而通过封装好的接口直接设置数据库的表结构。虽然jpa可以直接通过编写java代码来操作数据库表结构,避免了sql…

    Linux 2023年6月7日
    0116
  • 可视化软件navicat

    目录 多表查询思路 可视化软件navicat *多表查询练习题 内容 多表查询思路 多表查询的思路总共就两种: 白嫖两个表 获取jason所在的部门名称 子查询 相当于是我们日常生…

    Linux 2023年6月7日
    075
  • c++仿照go语言的error,函数返回值封装

    c++仿照go语言,程序返回错误时,可以附加错误信息 #ifndef __ERRORMSG_H_ #define __ERRORMSG_H_ #include struct Err…

    Linux 2023年6月14日
    084
  • EXCEL中vlookup函数的使用

    =LOOKUP(“座”,INDIRECT(“A1:A”&MATCH(E3,B1:B14,))) 这个公式中还嵌套了INDIR…

    Linux 2023年6月13日
    081
  • Greenplum数据库基本操作命令大全-完善ing

    Greenplum数据库基本操作命令大全 select * from pg_stat_activity; datid –16388 datname –hfamlgpdbs &a…

    Linux 2023年6月11日
    092
  • DHCP服务

    一、dhcp介绍 dhcp 应用层协议 动态主机配置协议 作用: 为主机动态分配tcp/ip参数(ip地址、掩码、网关、DNS服务器地址) Linux实现dhcp服务 软件: dh…

    Linux 2023年6月7日
    079
  • CentOS.7下安装配置FTP和SFTP服务

    一: FTP Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装 1、安装并启动FTP服务 1.1 安装vsftp d 使用 yum 安装 vsft…

    Linux 2023年6月6日
    0125
  • k8安装

    1.安装k8s之前需要安装docker,etcd 因为要在k8s的pod中运行容器,需要先安装 容器运行时(Container Runtimes ) 几种常见的容器运行时与 Kub…

    Linux 2023年6月13日
    088
  • Linux(Deepin)Qt引用ffmpeg的问题(: error: cannot find -l…)

    Linux(Deepin)Qt引用ffmpeg的问题 1、环境介绍 Deepin 20.4 Qt 5.15.1 2、问题描述 从git上找了一个项目打算在Linux练习,顺便熟悉L…

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