ansible-playbook 主机变量2

ansible-playbook 配置 hosts 后可以指定变量,通过-k 可以交互输入密码,也可以将密码写在 hosts 文件中。

入口 yaml 文件中通过 {{ ** }} 获取变量,命令行通过 -i 指定 hosts 文件, -e 传入参数,如果同时传入多个 host 参数可使用逗号分隔,同时也可以使用 hosts 文件中的变量 ,其中 remote_user: root 可以在 ansiplay-book 命令行中使用 -u root 替代。

[[email protected]_1_162_39 host_vars]# ll
total 16
-rw-r--r-- 1 root root 236 May  5 09:25 hosts-rw-r--r-- 1 root root 152 May  5 09:21 test1.yaml
-rw-r--r-- 1 root root 146 May  5 09:20 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.162.18
[web1:vars]
ansible_ssh_port=322

[[email protected]_1_162_39 host_vars]# cat test1.yaml
---
- hosts: "{{ host }}"
  gather_facts: false
  remote_user: root
  tasks:
    - shell: uptime
      register: output
    - debug: var=output.stdout
[[email protected]_1_162_39 host_vars]# ansible-playbook test1.yaml -i hosts -e host=10.1.162.18 -k
SSH password: 

PLAY [10.1.162.18] *************************************************************

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

TASK [debug] *******************************************************************
ok: [10.1.162.18] => {
    "output.stdout": " 09:26:36 up 18:05,  7 users,  load average: 0.05, 0.10, 0.08"
}

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

[[email protected]_1_162_39 host_vars]# 
时间: 2024-10-20 02:07:54

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

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"(仍是一种标记语