课时7 Anisble实现template管理nginx实战

阿斯蒂芬
摘要由CSDN通过智能技术生成

建立一个ansible的脚本
在这里插入图片描述
ansible-playbook -C var.yml 检查该脚本语法
在另一个重复控制端主机会话中输入 ansible all -a ‘ls /data -l’ 验证是否能ll
查看被控制端的主机内存情况,ansible all -m setup | grep mem

把变量都放到一个文件中。
vim vars.yml
在这里插入图片描述
调用变量
vim testvar.yml

  • host: websrvs
    remote_user: root
    vars_files:

    • vars.yml

    tasks:

    • name: install package
      yum: name={{ var1 }} 是否可以多个变量,用逗号隔开?
    • name: create file
      file: name=/data/{{ var2 }}.log state=touch

ansible-playbook -C testvar.yml ansible基于ssh协议,效率有所慢,装代理,效率就快很多。
ansible websrvs -m shell -a ‘rpm -a httpd’
ansible websrvs -m shell -a ‘ls -l /data’ 直接用默认模块试试呢?

在这里插入图片描述
应用场景,复制配置文件到被控制端,且配置文件根据被控制端的性能做出修改
安装nginx,查看/etc/nginx/nginx.conf
worker_processes atuo; 工作进程数量,根据主机CPU是几核来定义
systemctl start nginx
ps -aux|grep nginx
lscpu

这时候cp模块就不能支持,templates(模板)就出来了
在这里插入图片描述
// 是整除,取整 %是取余,**指数运算 在这里插入图片描述
ansible-doc -s template 查看帮助文档
只能用于playbook中
cp /etc/nginx/nginx.conf /templates/nginx.conf.j2
vim testtemp.yml
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需求:workerer的进程是cpu的两倍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

那么在不同主机上定义各自的端口呢?
在主机名单上可以定义
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
还可以在playbook中定义(yml脚本)
在这里插入图片描述
还可以在命令中
在这里插入图片描述
变量优先级 命令行>playbook脚本>主机清单

在这里插入图片描述
当版本的不同,配置文件也不同,这个时候呢?
就得需要用when语句
过滤操作系统
在这里插入图片描述
过滤版本
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6上的配置文件拷贝到控制端上
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值