Marathon 服务发现(Service Discovery)及负载(Load Balancing)方案

####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文件修改

 

你可能感兴趣的:(haproxy,docker,mesos,marathon)