####4.3 Marathon 提供的Docker服务发现及负载方案
* HAProxy配置文件目录
* Brige目录:SVR72
/usr/local/haProxy
* 4.3.1 原理
marathon的restful api 有查看当前程序信息的接口:
http://192.168.100.124:8080/v2/tasks
可以查询当前正在运行的app的host及端口信息
* 4.3.2 haproxy安装
登陆SVR72服务器
yum -y install haproxy
安装后的配置文件位置
/etc/haproxy/haproxy.cfg
* 4.3.3 安装haproxy-marathon-brige服务
mkdir -P /usr/local/haproxy
cd /usr/local/haproxy
wget https://raw.githubusercontent.com/mesosphere/marathon/master/bin/haproxy-marathon-bridge
设置执行权限
chmod +x haproxy-marathon-bridge
* 4.4.4 生产新的haproxy配置文件
./haproxy-marathon-bridge 192.168.100.124:8080 > /etc/haproxy/haproxy.cfg
* 4.4.5 重新加载haproxy服务进程
请注意此处使用安全方式
haproxy -f haproxy.cfg -p haproxy.pid -sf $(cat haproxy.pid)
* 4.4.6 配置定时任务
配置定时任务后,可以在Docker服务发布后,自动加载最新的负载配置信息
安装命令
./bin/haproxy-marathon-bridge install_haproxy_system 192.168.100.124:8080
安装完成后目录结构:
Marathon服务列表存储位置: /etc/haproxy-marathon-bridge/marathons
bridge脚本位置:/usr/local/bin/haproxy-marathon-bridge
服务器定时任务配置目录:/etc/cron.d/haproxy-marathon-bridge
* 4.4.7 通过浏览器访问haproxy代理端口,验证服务是否正常
生成的默认代理端口为1000,可以通过编辑haproxy-marathon-brige文件修改
Marathon 服务发现(Service Discovery)及负载(Load Balancing)方案
猜你喜欢
转载自corejava2008.iteye.com/blog/2242455
今日推荐
周排行