使用ansible的playbook批量部署Apache Traffic Server[4只小鸡] - AFF大佬
当前位置: 主页 » 技术干货 » 使用ansible的playbook批量部署Apache Traffic Server[4只小鸡]

使用ansible的playbook批量部署Apache Traffic Server[4只小鸡]

      2020年07月25日   阅读 50 次     0 评论   Tags: ·

在CDN技术中比较常见的软件有ATS,varnish和squid三款,以前博客写了一篇关于varnish的博文,参考:如何建立Varnish CDN集群使用Varnish从内存加速你的WordPress网站,今天用ansible的playbook功能批量部署ATS缓存(四台小鸡)
参考:https://qing.su/article/traffic-server-reverse-proxy.html
ATS下载地址:http://trafficserver.apache.org/

1、Apache Traffic Server简介

Apache Traffic Server由Yahoo于2009年开源,经过现在已经成为了非常成熟的代理/缓存/CDN系统。早在2009年,雅虎使用Traffic Server就可以用150台服务器实现每天400 TB的高速流量分发。经过多年的发展,ATS已经用于非常多的商业CDN分发与大型网络。Traffic Server与Nginx, Varnish三者几乎称霸了世界上所有CDN运营商,而Traffic Server又是这三者之中使用量最大的。与Nginx相比,Traffic Server拥有同样优异的性能显著的更多的功能,更丰富的接口,以及高度自定义的配置。与Varnish相比,Traffic Server对于高并发高负载的处理更为出色。
使用Traffic Server的CDN/大型网络有Apple, Comcast, Yahoo, Akamai, 以及国内的又拍云等等。

2、Ansible的playbook是什么东西?用句通俗的话解释就是 用yaml语法编写的ansible脚本,对比于shell脚本,关于ansible的简介和安装请参考上一篇博文
Centos7/8使用ansible批量部署zabbix监控集群[13只小鸡]

3、创建ATS编译安装的playbook脚本

目录结构:


[root@us ansible]# vi ats.yml 
---
- hosts: ats
  remote_user: root
    
  tasks:

#安装依赖包
  - name: install package
    shell: yum install epel-release -y
  - name: install package
    shell: yum install -y pkgconfig libtool gcc make tcl-devel openssl-devel pcre libcap flex hwloc lua zlib curl  ncurses-devel ncurses gcc-c++ bzip2 tcl-devel

#创建安装目录
  - name: "create installation dirs"
    file: path=/usr/local/ats state=directory

#创建存储目录
  - name: "create storage dirs"
    file: path=/var/cache/trafficserver state=directory owner=nobody group=nobody

#解压并拷贝ats文件
  - name: "copy and unpack source tar ball"
    unarchive: src=trafficserver-7.1.11.tar.bz2 dest=/usr/local/src copy=yes

#编译安装ats
  - name: configure
    shell: ./configure --prefix=/usr/local/ats --with-user=nobody --with-group=nobody --enable-experimental-plugins && make && make install
    args:
     chdir: /usr/local/src/trafficserver-7.1.11
 
 #创建软连接    
  - name: create links
    shell: ln -s /usr/local/ats/etc/trafficserver /etc/trafficserver
     
#创建ssl证书存放目录和
  - name: "create ssl dirs"
    file: path=/etc/trafficserver/ssl state=directory

#拷贝证书和ats配置文件到指定目录
  - name: copy ats confs
    copy: src=/home/ansible/ats/ dest=/etc/trafficserver/
  - name: copy ssl keys
    copy: src=/home/ansible/ssl/ dest=/etc/trafficserver/ssl/

#启动ats服务
  - name: start trafficserver
    shell: /usr/local/ats/bin/trafficserver restart

4、测试ats.yml脚本的执行情况(干跑并不执行), ansible-playbook -C ats.yml

5、执行ansible的playbook脚本 ansible-playbook ats.yml

6、批量清理ATS缓存和重载配置文件:


### ATS重载配置文件
[root@us ats]# ansible ats -m shell -a "/usr/local/ats/bin/traffic_ctl config reload"

### 停服清理ATS缓存
[root@us ats]# ansible ats -m shell -a "/usr/local/ats/bin/trafficserver stop
[root@us ats]# ansible ats -m shell -a "/usr/local/ats/bin/traffic_server -Cclear"
[root@us ats]# ansible ats -m shell -a "/usr/local/ats/bin/trafficserver start"

### 由于生产环境是不允许停止服务清理缓存的,所以推荐下面的不停服务清理ATS缓存
[root@us ats]# ansible ats -m shell -a "curl -vX PURGE -H 'Host:www.affdalao.com' http://127.0.0.1:80"

7、附件:ats配置文件:https://www.affdalao.com/soft/ats.tgz

  • 版权声明:本文版权归AFF大佬和原作者所有,未经许可不得转载。文章部分来源于网络仅代表作者看法,如有不同观点,欢迎进行交流。除非注明,文章均由 AFF大佬 整理发布,欢迎转载,转载请带版权。

  • 来源:AFF大佬 ( https://www.affdalao.com/ ),提供主机优惠信息深度测评和服务器运维编程技术。
  • 链接:https://www.affdalao.com/2194.html
  • 评论(0

    1. 还没有任何评论,你来说两句吧

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    本站CDN由CdnTiger提供
    本站DNS解析由TOYDNS提供