自动化运维---ansible---ansibel清单配置(INI语法&YAML语法)

自动化运维—ansible—ansibel清单配置(INI语法&YAML语法)

1.ansibel清单配置(INI语法)

- 基本清单配置

将一台服务器添加到清单中:
注意:此时的ansible端要能成功ssh连接server2

cd /etc/ansible/
ls
vim hosts 
写入:
172.25.254.2

在这里插入图片描述

ansible 172.25.254.2 -m ping	#使用ansible的ping模块连接

发现连接失败,是因为ansible并不知道我们要连接的用户和密码
在这里插入图片描述
再次编辑ansible清单,写入用户和密码:

vim hosts 
写入:
172.25.254.2 ansible_port=22 ansible_user=root ansible_ssh_pass=redhat

在这里插入图片描述

ansible 172.25.254.2 -m ping	#连接成功

在这里插入图片描述
我们还可以不用ip地址去连接,而给每台主机起一个别名:

vim hosts 
写入:
server2 ansible_host=172.25.254.2 ansible_port=22 ansible_user=root ansible_ssh_pass=redhat

在这里插入图片描述

ansible server2 -m ping	#连接成功

在这里插入图片描述
其实也可以不必在清单中写入这么多的信息,我们可以做好免密:

ssh-keygen
ssh-copy-id server1
ssh-copy-id server2
ssh-copy-id server3
ssh-copy-id server4
vim hosts 
写入:
172.25.254.3

在这里插入图片描述

ansible 172.25.254.3 -m ping	#连接成功

在这里插入图片描述
使用别名连接:

vim hosts 
写入:
server3 ansible_host=172.25.254.3

在这里插入图片描述

ansible server3 -m ping	#连接成功

在这里插入图片描述

- ansible的分组功能

使用all关键字管理清单中的所有主机:

vim hosts 
写入:
172.25.254.2
172.25.254.3

在这里插入图片描述

ansible all -m ping

在这里插入图片描述

分组1:

写法1:

[A]
172.25.254.2
172.25.254.3

[B]
172.25.254.4

在这里插入图片描述
在这里插入图片描述
写法2:

[A]
172.25.254.[2:3]
#172.25.254.3

注意:此处的[2:3]表示2到3,如果你有n台主机,也可以写[2:n]
在这里插入图片描述
在这里插入图片描述
写法3:使用主机名的方式配置

[A]
#172.25.254.[2:3]
#172.25.254.3
server2
server3

注意:主机名和别名的区别在于,别名要指定ip地址,而主机名必须写好解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
写法4:

[A]
#172.25.254.[2:3]
#172.25.254.3
server[2:3]
#server3

在这里插入图片描述
在这里插入图片描述

分组2:
[proA]
172.25.254.3
[proB]
172.25.254.4

[pro:children]
proA
proB

注意:此处的[pro:children]表示pro组包含的子组
在这里插入图片描述
在这里插入图片描述

2.YAML语法

YAML:(Yet Another Markup Language)语言(发音/'jaemal/ )是一个类似XML、JSON的标记性语言。
YAML强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称“一种人性化的数据格式语言”。目的就是方便人类读写。它实质上是一种通用的数据串行化格式
我们可以使用YAML编写配置文件,而ansible的清单也支持YAML的语法,所以我们可以使用YAML语法编写清单,从而管理受管主机

3.ansibel清单配置(YAML语法)

默认使用2个空格来表示缩进,而不是tab键
all表示最大的组,而hosts属于all的下一级;而受管主机与hosts之间又用两个空格表示缩进。

示例1:
INI:

172.25.254.2
172.25.254.3

YAML:

all:
  hosts:
    172.25.254.2:
    172.25.254.3:

在这里插入图片描述
在这里插入图片描述
示例2:
INI:

172.25.254.2
[tset1]
172.25.254.3
[tset2]
172.25.254.4

YAML:

all:
  hosts:
    172.25.254.2:
  children:
    test1:
      hosts:
        172.25.254.3:
    test2:
      hosts:
        172.25.254.4:

在这里插入图片描述
在这里插入图片描述
示例3:

INI:
[proA]
172.25.254.3
[proB]
172.25.254.4

[pro:children]
proA
proB

YAML:

all:
  children:
    pro:
      children:
        proA:
          hosts:
            172.25.254.3:
        proB:
          hosts:
            172.25.254.4:

在这里插入图片描述
在这里插入图片描述
示例4:
使用别名的方式配置受管主机:
INI:

172.25.254.2
serverc ansible_host=172.25.254.3
172.25.254.4

在这里插入图片描述
在这里插入图片描述
YAML:

all:
  hosts:
    172.25.254.2:
    serverc:
      ansible_host:  172.25.254.3
    172.25.254.4:

注意:ansible_host:后面要有两个空格
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值