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

建立一个ansible的脚本
课时7 Anisble实现template管理nginx实战_第1张图片
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’ 直接用默认模块试试呢?

课时7 Anisble实现template管理nginx实战_第2张图片
应用场景,复制配置文件到被控制端,且配置文件根据被控制端的性能做出修改
安装nginx,查看/etc/nginx/nginx.conf
worker_processes atuo; 工作进程数量,根据主机CPU是几核来定义
systemctl start nginx
ps -aux|grep nginx
lscpu

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

那么在不同主机上定义各自的端口呢?
在主机名单上可以定义
课时7 Anisble实现template管理nginx实战_第7张图片
在这里插入图片描述

课时7 Anisble实现template管理nginx实战_第8张图片
还可以在playbook中定义(yml脚本)
课时7 Anisble实现template管理nginx实战_第9张图片
还可以在命令中
在这里插入图片描述
变量优先级 命令行>playbook脚本>主机清单

课时7 Anisble实现template管理nginx实战_第10张图片
当版本的不同,配置文件也不同,这个时候呢?
就得需要用when语句
过滤操作系统
在这里插入图片描述
过滤版本
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
课时7 Anisble实现template管理nginx实战_第11张图片

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

你可能感兴趣的:(课时7 Anisble实现template管理nginx实战)