文章目录
ansible语法
firewalld和template
firewalld模块简单使用
-
firewalld模块参数
-
port 端口/协议
- 80/tcp 80端口放行tcp协议
-
permanent 是否永久设置
- bool值类型
-
immediate 是否马上生效
- bool值类型
-
state 状态
-
enabled 添加防火墙规则
= state #具体参数说明
Enable or disable a setting.
For ports: Should this port accept (enabled) or reject (disabled)
connections.
The statespresent' and
absent’ can only be used in zone level
operations (i.e. when no other parameters but zone and state are set).
(Choices: absent, disabled, enabled, present)
type: str
-
-
vim ~/ansible/firewall.yml #写下剧本 当前目录下有主机清单文件
===============================
---
- hosts: test
tasks:
- name: 安装防火墙
yum: #调用yum模块
name: firewalld
state: present #安装
- name: 开启防火墙
service:
name: firewalld
state: started
enabled: yes #开机自启
- name: 设置防火墙
firewalld: #调用firewalld模块
port: 80/tcp #80端口放行tcp
permanent: yes #永久设置
immediate: yes #马上生效
state: enabled #添加防火墙规则
===============================
ansible-playbook firewall.yml #运行
PLAY [test] *********************
TASK [Gathering Facts] **************
ok: [node1]
TASK [安装防火墙] *********** #任务一 本来就有 所以是ok
ok: [node1]
TASK [开启防火墙] ***************#任务二 本来就开着 所以是ok
ok: [node1]
TASK [设置防火墙] ******************#任务三 设置成功 返回changed状态码
changed: [node1]
PLAY RECAP ****************
node1 : ok=4 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
template模块使用
- 作用
- 拷贝控制端文件到被控制端
- 和copy模块的区别
- 可以拷贝过去不同的文件(对于不同主机来说)
- 执行过程
- 创建模板文件(里面有相对应的变量名)
- 通过template模块将模板文件发送过去
- 模板文件里面的变量会自动替换
测试
mkdir ~/ansible/template
vim ~/ansible/template/index.html #创建模板文件
==================================================================
Welcome to {
{
ansible_hostname}} on {
{
ansible_ens33.ipv4.address}}
==================================================================
vim ~/ansible/template.yml #写template模块的测试剧本
========================================================
---
- hosts: webserver
tasks:
- name: 使用template模块
template:
src: ~/ansible/template/index.html
dest: /tmp/Exclusive_file
=================================&