ansible-playbook 主机变量1

hosts 配置后可以支持指定 端口,密码等其他变量

[[email protected]_1_162_39 host_vars]# ll
total 12
-rw-r--r-- 1 root root 236 May  5 09:11 hosts
-rw-r--r-- 1 root root 205 May  4 21:08 test1.yaml
-rw-r--r-- 1 root root 146 May  5 09:09 test.playbook
[[email protected]_1_162_39 host_vars]# cat hosts
[web]
10.1.167.36
[web:vars]
ansible_ssh_port=32200

[web1]
10.1.167.18
[web1:vars]
ansible_ssh_port=322

[test]
10.1.162.18 ansible_ssh_port=322 ansible_ssh_pass=test*10.1.167.36 ansible_ssh_port=32200 ansible_ssh_pass=test***
[[email protected]_1_162_39 host_vars]# cat test.playbook
---
- hosts: test
  gather_facts: false
  remote_user: root
  tasks:
    - shell: ifconfig
      register: output
    - debug: var=output.stdout
[[email protected]_1_162_39 host_vars]# ansible-playbook test.playbook -i hosts 

PLAY [test] ********************************************************************

TASK [command] *****************************************************************
changed: [10.1.162.18]
changed: [10.1.167.36]

TASK [debug] *******************************************************************
ok: [10.1.167.36] => {
    "output.stdout": "eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500\n        inet 192.168.142.129  netmask 255.255.255.0  broadcast 192.168.142.255\n        inet6 fe80::20c:29ff:fe9e:335f  prefixlen 64  scopeid 0x20<link>\n        ether 00:0c:29:9e:33:5f  txqueuelen 1000  (Ethernet)\n        RX packets 32739  bytes 2492311 (2.3 MiB)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 1943  bytes 231372 (225.9 KiB)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\nlo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536\n        inet 127.0.0.1  netmask 255.0.0.0\n        inet6 ::1  prefixlen 128  scopeid 0x10<host>\n        loop  txqueuelen 1  (Local Loopback)\n        RX packets 4  bytes 340 (340.0 B)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 4  bytes 340 (340.0 B)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0\n\nvirbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500\n        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255\n        ether 52:54:00:2b:6f:35  txqueuelen 1000  (Ethernet)\n        RX packets 0  bytes 0 (0.0 B)\n        RX errors 0  dropped 0  overruns 0  frame 0\n        TX packets 0  bytes 0 (0.0 B)\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0"
}
ok: [10.1.162.18] => {
    "output.stdout": "eth0      Link encap:Ethernet  HWaddr 00:0C:29:21:BD:17  \n          inet addr:192.168.238.129  Bcast:192.168.238.255  Mask:255.255.255.0\n          inet6 addr: fe80::20c:29ff:fe21:bd17/64 Scope:Link\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\n          RX packets:299606 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:120969 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:1000 \n          RX bytes:363277194 (346.4 MiB)  TX bytes:6698174 (6.3 MiB)\n          Interrupt:19 Base address:0x2000 \n\nlo        Link encap:Local Loopback  \n          inet addr:127.0.0.1  Mask:255.0.0.0\n          inet6 addr: ::1/128 Scope:Host\n          UP LOOPBACK RUNNING  MTU:65536  Metric:1\n          RX packets:8 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0 \n          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)"
}

PLAY RECAP *********************************************************************
10.1.162.18                : ok=2    changed=1    unreachable=0    failed=0
10.1.167.36                : ok=2    changed=1    unreachable=0    failed=0   

[[email protected]_1_162_39 host_vars]# 
时间: 2024-09-30 00:39:04

ansible-playbook 主机变量1的相关文章

ansible使用二(ansible playbook)

ansible playbook ansible playbooks 是使用ansible简单的配置管理部署系统的基础,使用YAML语法格式的配置文件.每一个playbook中包含一系列的任务.使用ansible playbook可以更方便的管理.维护多态主机. 1.yaml语法    yaml是”YAML Ain't a Markup Language”的缩写,即不是一种标记性语言,它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料

ansible的主机清单,yml语法,playbook详解+操作

本章内容:一.inventory主机清单二.yml语法三.playbook详解+操作 inventory主机清单 ansible默认的主机清单是/etc/ansible/hosts文件 主机清单可以手动设置,也可以通过Dynamic Inventory动态生成 一般主机名使用FQDN vi /etc/ansible/hosts [webserver] #方括号设置组名 www1.example.org #定义被监控主机,这边可以是主机名也可以是IP地址,主机名需要修改/etc/hosts文件 w

运维自动化之ansible playbook一键化解决大量主机bash更新问题

今天发现有bash漏洞,但我这里近1000台服务器,为了方便.省时间,觉得使用ansible安装bash更新包,下面分享一下我的安装方法. 1.安装的playbook的内容 19:00:03 # cd /etc/ansible [email protected]:/etc/ansible 19:00:06 # cat update_bash.yml  --- - hosts: "{{ host }}"   remote_user: "{{ user }}"   ga

ansible playbook

说明:这篇文章依赖上一篇的环境 http://ximenfeibing.blog.51cto.com/8809812/1669162 Yml介绍 Playbook是使用yaml语言定制的,YAML是一个可读性高的用来表达资料序列的格式.YAML参考了其他多种语言,包括:XML.C语言.Python.Perl以及电子邮件格式RFC2822等.Clark Evans在2001年在首次发表了这种语言,另外Ingy dt Net与Oren Ben-Kiki也是这语言的共同设计者. Yml语法: - ho

自动化运维工具ansible playbook和roles的使用

ansible的结构: Inventory 用来定义被控制端 Modules 定义被控制端可用的操作 Ad Hoc Commands 定义被控制端可以执行命令的 Playbook 批量运行的方式 Tasks: 任务:由各模块所支持执行的特定操作:可以通过ansible-doc module_name来查看帮助文档,非常详细 -m  user -a 'name= password=' Variables: 变量 Templates: 模板:(如执行httpd服务时,各节点上httpd的配置文件内容

Ansible Playbook Roles and Include Statements

介绍 虽然可以在一个非常大的文件中编写一个playbook(您可能会以这种方式开始学习playbook),但最终您将需要重新使用文件并开始组织事情. 在基本级别,饱含任务的文件允许您将配置策略分解成较小的文件. 任务包括从其他文件中拉入任务. 由于处理程序也是任务,您还可以从"handler"部分中include处理程序文件. 如果您需要查看这些概念,请参阅" Playbooks" . Playbook还可以包括其他Playbook文件的plays. 当这样做完成时

ansible playbook使用总结

Ansible playbook的使用 playbooks概念 task: 任务:使用各模块所执行的特性操作任务,比如:-m user -a 'name= password=' Variables: 变量: Templates: 模板 在定义模板后可以实现各节点对应的变量来取代,表达式自身会根据当前节点所赋值做运算,之后生成的值则赋予这个参数,用于生产不同配置的配置文件,所以模板主要实现配置不同场景文本文件 而且这种使用模板语言来定义 模板语言中可以根据定义替换成特定主机的某些值 handler

Ansible PlayBook语法(4)

title: Ansible PlayBook语法(4) date: 2018-12-02 10:53:24 tags: Ansible categories: Ansible copyright: true --- Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能,ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署

33-5 ansible playbook组件:任务列表、handlers、案例

管理端:192.168.1.131 Centos7.2 node1: 1.121 Centos6.7 node2: 1.122 Centos6.7 node3: 1.123 Centos6.7 [[email protected] ~]# yum -y install ansible #需要安装EPEL源 [[email protected] ~]# ssh-keygen -t rsa -P '' [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_r

Ansible Playbook - Understanding YAML

要想用Ansible操作复杂的任务,就必须要学会YAML语法的书写,不光是Ansible,连他的竞争对手saltstack也使用了YAML,下面来学习一下YAML语法的格式,省得到要你写个Playbook的时候手忙脚乱的要好. 引用一下维基:YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递回缩写.在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语