文档章节

Traefik 实战(traefik+docker swarm)

China_OS
 China_OS
发布于 09/04 17:07
字数 502
阅读 73
收藏 0

    traefik是一个使你把微服务暴露出来变的更容易的http反向代理和负载均衡软件。traefik支持K8S、docker swarm、mesos、consul、etcd、zookeeper等基础设施组件,个人认为更适合容器化的微服务,traefik的配置会自动的、动态的配置更新自己。traefik的原理在另一篇讲解,本章直接实战看效果。

场景

    本篇主要模拟的是traefik+docker swarm mode的场景,由traefik自动发现swarm mode下的service

环境

ubuntu16.04-1 swarm manager traefik
ubuntu16.04-2 swarm works  
ubuntu16.04-3 swarm works  

    ps:还是之前文章做实验的swarm集群

下载traefik

wget 'https://github-production-release-asset-2e65be.s3.amazonaws.com/42408804/b7288f00-a48e-11e8-817e-298aa1a8bae9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180903%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180903T065922Z&X-Amz-Expires=300&X-Amz-Signature=4d4a6a61122a5e0ac8aaae5da30883d555db307c2a9dbe1e300fb1dc2decb0a2&X-Amz-SignedHeaders=host&actor_id=12913767&response-content-disposition=attachment%3B%20filename%3Dtraefik_linux-amd64&response-content-type=application%2Foctet-stream'

    ps:把下载完的traefik_linux-amd64二进制文件重命名成traefik,上传到镜像制作服务器。

镜像制作

    Dockfile

FROM scratch
COPY ./traefik /
EXPOSE 80
ENTRYPOINT ["/traefik"]

    编译image

docker build -t traefik .

    上传image

 

docker tag traefik 172.31.68.241/library/traefik
docker push 172.31.68.241/library/traefik

部署traefik

    创建网络

docker network create --driver=overlay traefik-net

        ps:traefik和app要在同一个网络内,否则traefik识别不到app

    部署traefik

docker service create \
    --name traefik \
    --constraint=node.role==manager \
    --publish 8090:80 --publish 8080:8080 \
    --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
    --network traefik-net \
    172.31.68.241/library/traefik \
    --docker \
    --docker.swarmMode \
    --docker.domain=example.org  \
    --docker.watch \
    --logLevel=DEBUG \
    --web

    查看web

http://172.31.68.241:8080/dashboard/

轮训访问app

docker service  create --replicas 2 --network traefik-net --label traefik.port=80 --label traefik.frontend.rule=Host:test.example.org --name hello 172.31.68.241/library/friendlyhello

    

    验证

curl -H Host:test.example.org http://172.31.68.241:8090

 

会话粘滞访问app

docker service  create --replicas 2 --network traefik-net --label traefik.port=80 --label traefik.frontend.rule=Host:test.example.org --label traefik.backend.loadbalancer.sticky=true --name hello 172.31.68.241/library/friendlyhello

    验证

curl -c cookies.txt -H Host:test.example.org http://172.31.68.241:8090

curl -b cookies.txt -H Host:test.example.org http://172.31.68.241:8090

    查看cookies

© 著作权归作者所有

共有 人打赏支持
上一篇: SkyDns2 实战
下一篇: Registrator 实战
China_OS
粉丝 413
博文 455
码字总数 512400
作品 0
静安
技术主管
私信 提问
利用Traefik+Docker构建可弹性扩展的微服务或服务集群

简介 Traefik是一个与Nginx、HAProxy有些相似的HTTP反向代理服务器,兼有负载均衡的功能。Nginx和HAProxy都有一个相同的问题就是,后端服务(通常称之为upstream或backend)变化(是否能正常...

urey_pp
2017/02/09
0
0
traefik v1.0.3 发布,http 反向代理与负载均衡工具

traefik v1.0.3 发布了,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest ...

王练
2016/09/25
2.5K
30
traefik v1.1.0-rc4 发布,http 反向代理工具

traefik v1.1.0-rc4 发布了,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, R...

王练
2016/11/14
802
0
Traefik 1.4.3 发布,http 反向代理与负载均衡工具

traefik 1.4.3 已发布,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest AP...

王练
2017/11/16
760
1
traefik 1.3.7 发布,http 反向代理与负载均衡工具

traefik 1.3.7 已发布,traefik 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest AP...

王练
2017/08/27
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

图片无限轮播

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, max......

shawnDream
12分钟前
0
0
js 在==时,则会有一些让人难以理解的陷阱

在==时,则会有一些让人难以理解的陷阱。 (function () { var undefined; undefined == null; // true 1 == true; //true 2 == true; // false 0 == false; // true 0 == ''; // true NaN ==......

之渊
15分钟前
1
0
前后端分离之JWT用户认证

参考资料 1、前后端分离之JWT用户认证

哎小艾
19分钟前
0
0
TiDB 在量化派风控系统中的应用

作者:朱劲松,量化派研发中心系统架构师,主要参与了基础组件开发、API Gateway 等项目,现在致力于公司风控系统相关业务的架构设计和研发。 一、公司简介 量化派(QuantGroup)创办于 2014...

TiDB
21分钟前
0
0
Spring Cloud Feign 异常处理

问题 最近在项目开发中,使用 Feign 调用服务,当触发熔断机制时,遇到了以下问题: 异常信息形如:TestService#addRecord(ParamVO) failed and no fallback available.; 获取不到服务提供方...

xiaomin0322
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部