在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/事情起因:昨晚小鸡宕机,然后编译安装ats,编译速度很慢,就有了此文,定制ats的docker镜像
1、ATS Dockerfile 分阶段构建,减小镜像大小
vi Dockerfile
FROM quay.io/centos/centos:stream9 as builder
ARG TRAFFIC_SERVER_VERSION=9.1.2
RUN dnf install -y pkgconfig libtool gcc make tcl-devel openssl-devel pcre pcre-devel libcap flex hwloc lua zlib ncurses-devel ncurses gcc-c++ bzip2 tcl-devel
RUN mkdir -p /tmp/trafficserver /opt/trafficserver \
&& curl -L https://downloads.apache.org/trafficserver/trafficserver-${TRAFFIC_SERVER_VERSION}.tar.bz2 | tar xjvf - -C /tmp/trafficserver --strip-components 1 \
&& cd /tmp/trafficserver && ./configure --prefix=/opt/trafficserver --with-user=nobody --with-group=nobody --enable-experimental-plugins \
&& cd /tmp/trafficserver && make -j2 \
&& cd /tmp/trafficserver && make install \
&& mv /opt/trafficserver/etc/trafficserver /etc/trafficserver \
&& ln -sf /etc/trafficserver /opt/trafficserver/etc/trafficserver \
&& rm -rf /tmp/trafficserver
FROM quay.io/centos/centos:stream9
COPY --from=builder --chown=nobody:nobody /opt/trafficserver /opt/trafficserver
EXPOSE 80 443
VOLUME ["/opt/trafficserver/etc/trafficserver"]
CMD ["/opt/trafficserver/bin/traffic_server"]
2、生成ats镜像
docker build -t ats:9.1.2 .
3、使用方法
# 单机使用
docker run --restart=always --name=ats -d -p 443:443 -v /data/trafficserver:/opt/trafficserver/etc/trafficserver ats:9.1.2
# 因为我部署了三台ATS节点,所以用了ansible
ansible ats -m shell -a "docker run --restart=always --name=ats -d -p 443:443 -v /data/trafficserver:/opt/trafficserver/etc/trafficserver ats:9.1.2"
# docker 压缩镜像和导入镜像小技巧
docker save ats:9.1.2 |gzip > /data/k8s/ats-9.1.2.tar.gz
gunzip -c ats-9.1.2.tar.gz | docker load
还没有任何评论,你来说两句吧