关于Marathon-lb

来源:互联网 发布:淘宝油画卖家赔钱2500 编辑:程序博客网 时间:2024/05/02 02:58

Marathon-lb是个基于HAProxy的快速代理和负载均衡。他能为基于TCP和HTTP协议的应用提供代理和负载均衡,此外还支持SSL、健康检查、HTTP压缩、Lua脚本等特性。Marathon-lb通过Marathon的EventBus可以自动获取Marathon上每个应用的信息,并且能够为每组应用生成HAProxy配置。不同于通过域名机制来发现服务的Mesos-DNS,Marathon-lb是通过servicePort服务端口来发现服务外,另外,还可以通过VHOST来访问服务。

安装与运行

从docker公共仓库可以直接下载marathon-lb的容器镜像,下载之后的镜像可以直接用run命令运行,也可以将其跑在Marathon上面。我在测试环境是用Marathon来跑到Marathon-lb,其json的配置文件如下:

{  "id": "/test/marathon-lb",  "cmd": null,  "cpus": 0.5,  "mem": 128,  "disk": 0,  "instances": 1,  "container": {    "type": "DOCKER",    "volumes": [],    "docker": {      "image": "marathon-lb",      "network": "HOST",      "privileged": true,      "parameters": [],      "forcePullImage": true    }  },  "portDefinitions": [    {      "port": 0,      "protocol": "tcp",      "labels": {}    }  ],  "args": [    "sse",    "-m",    "http://192.168.0.101:8080",    "-m",    "http://192.168.0.102:8080",    "-m",    "http://192.168.0.103:8080",    "--group",    "testgp"  ]}

这样Marathon-lb就可以以在Marathon上运行起来了。如果应用希望使用这个Marathon-lb,那么在创建时需要指定两个参数:HAPROXY_GROUP和HAPROXY_{n}_VHOST。

github上有一下说明文档,可以参考学习:
https://github.com/mesosphere/marathon-lb/blob/master/Longhelp.md#templates


后续再补充…

0 0
原创粉丝点击