Ansible - [08] 模块应用
firewalld 模块
使用firewalld模块可以配置防火墙策略
[root@control ~]# cat ~/ansible/firewall.yml
---
- hosts: agent
  tasks:
    - name: install firewalld.
      yum:
        name: firewalld
        state: present
    - name: run firewalld.
      service:
        name: firewalld
        state: started
        enabled: yes
    - name: set firewalld rule
      firewalld:
        port: 80/tcp
        permanent: yes
        state: enabled以上可进行:安装防火墙、启动防火墙、允许80端口的访问
其他案例
- firewalld:
    port: 8081/tcp
    permanent: yes
    state: disabled
- firewalld:
    port: 161-162/udp
    permanent: yes
    state: enabled
- firewalld:
    zone: dmz
    service: http
    permanent: yes
    state: enabled
- name: Redirect port 443 to 8443 with Rich Rule
  firewalld:
    rich_rule: rule forward-port port=443 protocol=tcp to-port=8443
    zone: public
    permanent: yes
    immediate: yes
    state: enabled
    immediate 可以让规则立刻生效
查看防火墙永久规则:firewalld-cmd --list-ports --permanent
template 模块
- copy模块可以将一个文件拷贝给远程主机
- 但是如果希望每个拷贝的文件内容都不一样呢?
- 如何给所有web主机拷贝index.html内容是各自的IP地址?
- Ansible可以利用Jinja2模板引擎读取变量
- 之前在playbook中调用变量,也是Jinja2(谐音:金加兔)的功能
- Jinja2模块的表达式包含在分隔符"{{ }}"内
 
[root@control ansible]# mkdir ~/ansible/template
[root@control ansible]# cat ~/ansible/template/index.html
Welcome to {{ ansible_hostname }} on {{ ansible_eth0.ipv4.address }}.
# 模板文件中调用变量不需要双引号
[root@control ansible]# cat ~/ansible/template.yml
---
- hosts: webserver
  tasks:
    - name: use template copy index.html to webserver.
      template:
        src: ~/ansible/template/index.html
        dest: /var/www/html/index.html
# 在被控制节点查看文件
[root@node3 ansible]# cat /var/www/html/index.html
Welcome to node3 on 192.168.4.3.定义变量
[root@control ansible]# cat ~/ansible/template/soure.j2
{{ welcome }} {{ iname }}...
[root@control ansible]#
[root@control ansible]# cat ~/ansible/template2.yml
---
- hosts: webserver
  vars:
    welcome: 'hello'
    iname: 'jack'
  tasks:
    - name: use template copy a file to remote hosts
      template:
        src: ~/ansible/template/source.j2
        dest: /tmp/
[root@control ansible]# Ansible - [08] 模块应用的更多相关文章
- Ansible 常用模块(一)
		一.Ansible简介 Ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet(ruby).cfengine.chef.func.fabric.)的优点,实现了 ... 
- Ansible常用模块介绍及使用(2)
		Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ... 
- ansible服务模块和组模块使用
		本篇文章主要是介绍ansible服务模块和组模块的使用. 主要模块为ansible service module和ansible group moudle,下面的内容均是通过实践得到,可以直接运行相关 ... 
- ansible常用模块用法
		ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报 分类: Linux(44) ansible 版权声明:本文为博主原创文章,未经博主允许不得 ... 
- Linux之ansible  常用模块
		目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ... 
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
		Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ... 
- Ansible常用模块命令
		Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ... 
- ansible 常用模块的使用
		安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ... 
- Ansible 常见模块介绍
		目录 Ansible 常见模块介绍 ping 模块 command 模块 cron 模块 user 模块 group 模块 copy 模块 file 模块 service 模块 shell 模块 sc ... 
- ansible核心模块playbook介绍
		ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ... 
随机推荐
- 一款渗透测试信息收集集成工具--mitan密探
			本工具仅供安全测试人员运用于授权测试, 禁止用于未授权测试, 违者责任自负.作者及本公众号相关负责人不对您使用该工具所产生的任何后果负任何法律责任,在扫描模块使用多线程,在测试过程中根据目标的实际情况 ... 
- ECShop开源商城与COS互通:降低本地存储负载、提升访问体验
			ECShop简介 ECShop是一款开源电子商务平台,具有简单易用.安全稳定.模块化设计等特点.它提供了完整的电子商务解决方案,包括商品管理.订单管理.支付管理.配送管理.会员管理.促销管理.数据统计 ... 
- 关于Git上传项目报错error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
			问题 今天用Git上传项目时,最后一步push时命令行报错 error: RPC failed; HTTP 413 curl 22 The requested URL returned error: ... 
- Rocky Linux8升级9随记
			发现Rocky Linux已经升级了9.0版本,看着自己用着的8.5版本,跃跃欲试,于是就索性升级了.两者的支持年限没有太大的差别,先说我的想法:升不升级无所谓. 并不是9.0有什么特别牛的特性,只是 ... 
- dubbo(一)spring schema拓展技术
			https://blog.csdn.net/java_zldz_xuws/article/details/84648398 在阐述dubbo原理之前,我先介绍一下dubbo与spring怎么糅合在一块 ... 
- Qt开源作品28-邮件发送工具
			一.前言 邮件发送工具是好多年前就开源出来的,核心就是调用最底层socket通信来实现的邮件发送程序,以前用C#写过,微软都封装好的,不知道底层是如何实现的,只知道调用方法,这次用C++实现了下,参考 ... 
- Android-studio-ide-201.7042882-windows-4.1.2项目卡在Gradle: Download gradle-6.5-bin.zip
			现象描述: Android-studio-ide-201.7042882-windows-4.1.2项目卡在Gradle: Download gradle-6.5-bin.zip,如下所示: 原因分析 ... 
- [转]Microsoft Robotics Studio:微软仿真机器人集成开发环境,简称MSRS
			原文链接:Microsoft Robotics Studio 微软官网:Robotics: Simulating the World with Microsoft Robotics Studio 其它 ... 
- 记录一次线上服务OOM排查
			外面,阳光明媚,一切正好. 就在我欢天喜地准备迎来愉快的双休时,忽然之间,天塌了. 刚上线一小时的服务内存异常OOM了! 老实说,在我印象里OOM问题只存在于网上案例中,练习编码时常两年半,还是第一次 ... 
- 老奶奶看了都会的WSL2连接USB设备教程!
			老奶奶看了都会的WSL2-Ubuntu连接USB设备教程! 作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 参考资料:微软官方文档连接 USB 设备 | Mic ... 
