时间:2025-01-26 18:04
人气:
作者:admin
上一篇 介绍了Ansible的各项元素、系列命令、Inventory基础,这些是掌握Ansible的基础,本篇接着介绍Ansible两大神器Ad-Hoc命令集和playbook,通过模拟真实的案例和应用场景更深入地了解Ansible。
Ad-Hoc源自拉丁语“ad hoc”,意思是“为了这个目的”或“特定目的”。我们可以理解为解决一些简单或者平时工作中临时遇到的任务所做的“临时操作”。比如:临时向某一集群中各个服务器推送一个文件等
Ad-Hoc命令集由/usr/bin/ansible实现,其命令语法如下:
ansible <host-pattern> [options]
可用[options]有:
/etc/ansible/hosts场景1:检查主机是否存活
执行命令:
ansible linux -m ping
返回结果:
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux -m ping
192.168.158.16 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.158.23 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.158.176 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
“linux”组下有三台linux机器,看下第一台机器的输出
“172.168.158.16”是命令执行的主机;
“Success”表示命令执行成功;
“=>{}”表示详细返回结果如下;
““changed”:false”表示没有对主机做变更;““ping”:"pong"”表示执行ping命令返回了pong
场景2:返回Linux组所有主机的hostname
执行命令:
ansible linux -m command -a 'hostname'
返回结果:
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux -m command -a 'hostname'
192.168.158.16 | CHANGED | rc=0 >>
k8sworker
192.168.158.23 | CHANGED | rc=0 >>
k8smaster
192.168.158.176 | CHANGED | rc=0 >>
192-168-158-176-RedHat-7
场景3:返回Linux组所有机器
执行命令
ansible linux --list-hosts
返回结果
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux --list-hosts
hosts (3):
192.168.158.23
192.168.158.16
192.168.158.176
Ansible使用yaml语法描述配置问津啊,该配置文件被称为Play book,我们称之为“剧本”,每个剧本中都包含一系列的任务。
上一篇:最短路问题
