`
m635674608
  • 浏览: 5042898 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Marathon 服务发现及负载均衡 marathon-lb

 
阅读更多

1- 简介

 

       从官网摘抄了Mesos-DNS的缺陷,也是选择使用marathon-lb做服务发现和负载均衡的原因。

 

       DNS does not identify service ports, unless you use an SRV query; most apps are not able to use SRV records “out of the box.”

       DNS does not have fast failover.

       DNS records have a TTL (time to live) and Mesos-DNS uses polling to create the DNS records; this can result in stale records.

       DNS records do not provide any service health data.

       Some applications and libraries do not correctly handle multiple A records; in some cases the query might be cached and not correctly reloaded as required.

 

       Marathon-lb基于HAProxy,给基于TCPHTTP协议的应用提供代理和负载均衡功能,此外还提供诸如SSL支持,HTTP压缩,健康检查,Lua脚本等。Marathon-lb订阅Marathon的事件总线,实时更新HAProxy的配置,并重载应用。

 

 

|| Marathon App设置

 

2- App设置

 

       创建app需要使用bridge模式,三端口[containerPort | hostPort | servicePort],通过标签[Labels]上组信息marathon-lb查找定位。

      

       该容器中应用的端口是80,投射到host0端口即为随机分配端口,marathon-lb会去收集这些端口并最终在代理节点的servicePort上对外提供服务,这种方式要求网络模式必须为Bridge

 

       Labels标签是让marathon-lb发现该app的关键,这里设置为

       HAPROXY_GROUP=external

 

       所以后面使用marathon-lb.py脚本的时候要加上--group external参数

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

|| marathon-lb填坑指南

 

       这是尝试过程中各种问题解决方法的记录,简明部署方法见下节marathon-lb部署

 

1- 安装基本环境 Lua & Haproxy

 

       # cp -r /opt/marathon-lb-master /marathon-lb

       # cd /marathon-lb

       # sh build-haproxy.sh

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

       装好所需包再运行

 

       # yum install readline-devel

       # sh build-haproxy.sh

 

2- 执行 marathon-lb

 

       我们环境中还是Python2,所以将目录中所有py脚本中的python3 改成python

       # vim /marathon-lb/marathon-lb.py

              #!/usr/bin/env python

 

       # chmod +x marathon-lb.py

 

       执行marathon-lb脚本,加上marathon入口及app的组信息

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb
 

 

       SSL证书问题,先制作证书

 

3- 制作pem证书文件

 

       # openssl genrsa -out /etc/ssl/mesosphere.com.key 1024

       # openssl req -new -key /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.csr

       # openssl x509 -req -days 3650 -in /etc/ssl/mesosphere.com.csr \

       > -signkey /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.crt

       # cat /etc/ssl/mesosphere.com.crt \

       >/etc/ssl/mesosphere.com.key | tee /etc/ssl/mesosphere.com.pem

 

4- 服务重载问题

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

       看一下marathon_lb.py脚本

 

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

       之前build-haproxy.sh脚本是tar包安装haproxy,没有配置服务生命周期管理脚本,为方便,尝试yum安装看看,现有源的haproxy版本是1.5

 

5- YUM安装

 

       # yum install haproxy

 

       # systemctl restart haproxy.service

      

       用脚本去侦测marathon上的app,更新 /etc/haproxy/haproxy.cfg

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

       查看haproxy.service状态

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

       server-state-file server-state-base lua-load load-server-state-from-file 等关键词不识别

 

       原因在于这是haproxy 1.6才支持的新特性,marathon-lb脚本生成的haproxy.cfg1.6以上格式,但CentOS现有源只能到1.5,参见如下链接:

 

       http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/

 

       找新的可以支持到1.6的第三方源

 

       https://copr.fedorainfracloud.org/coprs/nibbler/haproxy16/

 

       # vim /etc/yum.repo.d/haproxy.repo

       [nibbler-haproxy16]

       name=Copr repo for haproxy16 owned by nibbler

       baseurl=https://copr-be.cloud.fedoraproject.org/results/nibbler/haproxy16/epel-7-$basearch/

       skip_if_unavailable=True

       gpgcheck=1

       gpgkey=https://copr-be.cloud.fedoraproject.org/results/nibbler/haproxy16/pubkey.gpg

       enabled=1

       enabled_metadata=1

 

       # yum update haproxy

 

       # systemctl restart haproxy.service

       # systemctl status haproxy.service -l

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

        只剩下lua-load参数没有识别,tar包编译的时候加了lua support,但rpm包还没有,

 

       # /usr/sbin/haproxy -vv

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

       算了,放弃RPM包方式了,还是用tar包安装来做

 

 

|| marathon-lb部署

 

0- 域名解析

 

       负责做LB的这个节点,要可以解析marathon集群各节点域名

 

       # vim /etc/hosts

              10.63.240.131   ziyan.l-06-rbd-01

              10.63.240.132   ziyan.l-07-rbd-02

              10.63.240.133   ziyan.l-08-rbd-03

 

1- Tar包安装haproxy

 

       # yum install readline-devel

      

       # cp -r /opt/marathon-lb-master /marathon-lb

       # cd /marathon-lb

       # sh build-haproxy.sh

 

2- 服务管理

 

       # useradd -r haproxy

       # cp /usr/local/sbin/haproxy /usr/sbin/

       # cp /usr/src/haproxy-1.6.4/examples/ haproxy. init  /etc/init.d/haproxy

       # chmod 755 /etc/init.d/haproxy

       # mkdir /etc/haproxy

 

3- Haproxy运行测试

 

       写个配置文件简单测试一下

 

       # vim /etc/haproxy/haproxy.cfg

              global

                 log /dev/log local0

                 log /dev/log local1 notice

                 stats socket /run/haproxy/admin.sock mode 660 level admin

                 stats timeout 30s

                 user haproxy

                 group haproxy

                 daemon

 

              defaults

                 log global

                 mode http

                 option httplog

                 option dontlognull

                 timeout connect 5000

                 timeout client 50000

                 timeout server 50000

 

              frontend http_front

                 bind *:80

                 stats uri /haproxy?stats

                 default_backend http_back

 

              backend http_back

                 balance roundrobin

                 server test1 10.63.240.131:31687 check

 

       # systemctl status haproxy.service -l

 

       这里会有一个 line 26: [: =: unary operator expected 报错,修改启动脚本,给26行那个变量加上引号,避免空变量情况下的语法错误

 

       # vim /etc/init.d/haproxy

              [ "${NETWORKING}" = "no" ] && exit 0

 

       此外,还有一个 cannot bind UNIX socket [/run/haproxy/admin.sock] 报错,创建目录

 

       # mkdir /run/haproxy

 

       # systemctl restart haproxy.service 终于可以启动了

 

4- SSL证书

 

       # openssl genrsa -out /etc/ssl/mesosphere.com.key 1024

       # openssl req -new -key /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.csr

       # openssl x509 -req -days 3650 -in /etc/ssl/mesosphere.com.csr \

       > -signkey /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.crt

       # cat /etc/ssl/mesosphere.com.crt \

       > /etc/ssl/mesosphere.com.key | tee /etc/ssl/mesosphere.com.pem

 

5- marathon-lb运行

 

       # vim /marathon-lb/marathon-lb.py

              #!/usr/bin/env python

 

       # chmod +x marathon-lb.py

 

       该脚本中重载的命令是 /etc/init.d/haproxy reload 但实际测试中发现偶尔会导致haproxy起不来,还是把reload改成restart比较稳妥

 

       # vim /marathon-lb/marathon-lb.py

              ...

              elif os.path.isfile('/etc/init.d/haproxy'):

            logger.debug("we seem to be running on a sysvinit based system")

            #reloadCommand = ['/etc/init.d/haproxy', 'reload']

            reloadCommand = ['/etc/init.d/haproxy', 'restart']

              ...

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

       查看/etc/haproxy/haproxy.cfg

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

        已经对这三个instances做了负载均衡,再把这个app扩展到8instances

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

       # vim /etc/haproxy/haproxy.sh

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

       已经对这三个instances做了负载均衡,再把这个app扩展到8instances

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

       # vim /etc/haproxy/haproxy.sh


Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb 

 

 

       网页访问本机的10000端口,即可查看业务,配置成功

 

       http://10.63.240.128:10000

 

       查看9090端口,HAProxy统计

 

       http://10.63.240.128:9090/haproxy?stats

 

       查看haproxy.conf配置

 

       http://10.63.240.128:9090/_haproxy_getconfig

 

 

|| 容器化

 

1- 添加域名解析

 

       # vim /etc/hosts

              192.168.0.223   ziyan.l-06-rbd-01

              192.168.0.224   ziyan.l-07-rbd-02

              192.168.0.222   ziyan.l-08-rbd-03

 

2- 下载镜像

 

       # docker pull mesosphere/marathon-lb

 

3- 使用sse模式

 

       使用SSE模式, marathon-lb连接到marathon的事件endpointapp状态改变时收到通知

 

       # docker run -e PORTS=9090 --net=host mesosphere/marathon-lb sse \

       > --marathon http://10.63.240.131:8080 --group external

 

       现在haproxy的配置文件会根据Appinstances变化情况实时更新

 

 

4- marathon-lb容器也加入marathon集群(需部署好marathonctl

 

       # vim /opt/marathonctl/apps/lb.json

 

              {

                "id": "marathon-lb",

                "args":[

                  "sse",

                  "--marathon", "http://10.63.240.131:8080",

                  "--group", "external"

                ],

                "cpus": 1,

                "mem": 512,

                "instances": 1,1- 简介

 

       从官网摘抄了Mesos-DNS的缺陷,也是选择使用marathon-lb做服务发现和负载均衡的原因。

 

       DNS does not identify service ports, unless you use an SRV query; most apps are not able to use SRV records “out of the box.”

       DNS does not have fast failover.

       DNS records have a TTL (time to live) and Mesos-DNS uses polling to create the DNS records; this can result in stale records.

       DNS records do not provide any service health data.

       Some applications and libraries do not correctly handle multiple A records; in some cases the query might be cached and not correctly reloaded as required.

 

       Marathon-lb基于HAProxy,给基于TCPHTTP协议的应用提供代理和负载均衡功能,此外还提供诸如SSL支持,HTTP压缩,健康检查,Lua脚本等。Marathon-lb订阅Marathon的事件总线,实时更新HAProxy的配置,并重载应用。

 

 

|| Marathon App设置

 

2- App设置

 

       创建app需要使用bridge模式,三端口[containerPort | hostPort | servicePort],通过标签[Labels]上组信息marathon-lb查找定位。

      

       该容器中应用的端口是80,投射到host0端口即为随机分配端口,marathon-lb会去收集这些端口并最终在代理节点的servicePort上对外提供服务,这种方式要求网络模式必须为Bridge

 

       Labels标签是让marathon-lb发现该app的关键,这里设置为

       HAPROXY_GROUP=external

 

       所以后面使用marathon-lb.py脚本的时候要加上--group external参数

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

|| marathon-lb填坑指南

 

       这是尝试过程中各种问题解决方法的记录,简明部署方法见下节marathon-lb部署

 

1- 安装基本环境 Lua & Haproxy

 

       # cp -r /opt/marathon-lb-master /marathon-lb

       # cd /marathon-lb

       # sh build-haproxy.sh

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

       装好所需包再运行

 

       # yum install readline-devel

       # sh build-haproxy.sh

 

2- 执行 marathon-lb

 

       我们环境中还是Python2,所以将目录中所有py脚本中的python3 改成python

       # vim /marathon-lb/marathon-lb.py

              #!/usr/bin/env python

 

       # chmod +x marathon-lb.py

 

       执行marathon-lb脚本,加上marathon入口及app的组信息

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb
 

 

       SSL证书问题,先制作证书

 

3- 制作pem证书文件

 

       # openssl genrsa -out /etc/ssl/mesosphere.com.key 1024

       # openssl req -new -key /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.csr

       # openssl x509 -req -days 3650 -in /etc/ssl/mesosphere.com.csr \

       > -signkey /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.crt

       # cat /etc/ssl/mesosphere.com.crt \

       >/etc/ssl/mesosphere.com.key | tee /etc/ssl/mesosphere.com.pem

 

4- 服务重载问题

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

 

       看一下marathon_lb.py脚本

 

 Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

       之前build-haproxy.sh脚本是tar包安装haproxy,没有配置服务生命周期管理脚本,为方便,尝试yum安装看看,现有源的haproxy版本是1.5

 

5- YUM安装

 

       # yum install haproxy

 

       # systemctl restart haproxy.service

      

       用脚本去侦测marathon上的app,更新 /etc/haproxy/haproxy.cfg

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

       查看haproxy.service状态

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

       server-state-file server-state-base lua-load load-server-state-from-file 等关键词不识别

 

       原因在于这是haproxy 1.6才支持的新特性,marathon-lb脚本生成的haproxy.cfg1.6以上格式,但CentOS现有源只能到1.5,参见如下链接:

 

       http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/

 

       找新的可以支持到1.6的第三方源

 

       https://copr.fedorainfracloud.org/coprs/nibbler/haproxy16/

 

       # vim /etc/yum.repo.d/haproxy.repo

       [nibbler-haproxy16]

       name=Copr repo for haproxy16 owned by nibbler

       baseurl=https://copr-be.cloud.fedoraproject.org/results/nibbler/haproxy16/epel-7-$basearch/

       skip_if_unavailable=True

       gpgcheck=1

       gpgkey=https://copr-be.cloud.fedoraproject.org/results/nibbler/haproxy16/pubkey.gpg

       enabled=1

       enabled_metadata=1

 

       # yum update haproxy

 

       # systemctl restart haproxy.service

       # systemctl status haproxy.service -l

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

        只剩下lua-load参数没有识别,tar包编译的时候加了lua support,但rpm包还没有,

 

       # /usr/sbin/haproxy -vv

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

       算了,放弃RPM包方式了,还是用tar包安装来做

 

 

|| marathon-lb部署

 

0- 域名解析

 

       负责做LB的这个节点,要可以解析marathon集群各节点域名

 

       # vim /etc/hosts

              10.63.240.131   ziyan.l-06-rbd-01

              10.63.240.132   ziyan.l-07-rbd-02

              10.63.240.133   ziyan.l-08-rbd-03

 

1- Tar包安装haproxy

 

       # yum install readline-devel

      

       # cp -r /opt/marathon-lb-master /marathon-lb

       # cd /marathon-lb

       # sh build-haproxy.sh

 

2- 服务管理

 

       # useradd -r haproxy

       # cp /usr/local/sbin/haproxy /usr/sbin/

       # cp /usr/src/haproxy-1.6.4/examples/ haproxy. init  /etc/init.d/haproxy

       # chmod 755 /etc/init.d/haproxy

       # mkdir /etc/haproxy

 

3- Haproxy运行测试

 

       写个配置文件简单测试一下

 

       # vim /etc/haproxy/haproxy.cfg

              global

                 log /dev/log local0

                 log /dev/log local1 notice

                 stats socket /run/haproxy/admin.sock mode 660 level admin

                 stats timeout 30s

                 user haproxy

                 group haproxy

                 daemon

 

              defaults

                 log global

                 mode http

                 option httplog

                 option dontlognull

                 timeout connect 5000

                 timeout client 50000

                 timeout server 50000

 

              frontend http_front

                 bind *:80

                 stats uri /haproxy?stats

                 default_backend http_back

 

              backend http_back

                 balance roundrobin

                 server test1 10.63.240.131:31687 check

 

       # systemctl status haproxy.service -l

 

       这里会有一个 line 26: [: =: unary operator expected 报错,修改启动脚本,给26行那个变量加上引号,避免空变量情况下的语法错误

 

       # vim /etc/init.d/haproxy

              [ "${NETWORKING}" = "no" ] && exit 0

 

       此外,还有一个 cannot bind UNIX socket [/run/haproxy/admin.sock] 报错,创建目录

 

       # mkdir /run/haproxy

 

       # systemctl restart haproxy.service 终于可以启动了

 

4- SSL证书

 

       # openssl genrsa -out /etc/ssl/mesosphere.com.key 1024

       # openssl req -new -key /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.csr

       # openssl x509 -req -days 3650 -in /etc/ssl/mesosphere.com.csr \

       > -signkey /etc/ssl/mesosphere.com.key -out /etc/ssl/mesosphere.com.crt

       # cat /etc/ssl/mesosphere.com.crt \

       > /etc/ssl/mesosphere.com.key | tee /etc/ssl/mesosphere.com.pem

 

5- marathon-lb运行

 

       # vim /marathon-lb/marathon-lb.py

              #!/usr/bin/env python

 

       # chmod +x marathon-lb.py

 

       该脚本中重载的命令是 /etc/init.d/haproxy reload 但实际测试中发现偶尔会导致haproxy起不来,还是把reload改成restart比较稳妥

 

       # vim /marathon-lb/marathon-lb.py

              ...

              elif os.path.isfile('/etc/init.d/haproxy'):

            logger.debug("we seem to be running on a sysvinit based system")

            #reloadCommand = ['/etc/init.d/haproxy', 'reload']

            reloadCommand = ['/etc/init.d/haproxy', 'restart']

              ...

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

 

       查看/etc/haproxy/haproxy.cfg

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

        已经对这三个instances做了负载均衡,再把这个app扩展到8instances

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

       # vim /etc/haproxy/haproxy.sh

 

Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb

 

       已经对这三个instances做了负载均衡,再把这个app扩展到8instances

 

       # ./marathon_lb.py --marathon http://10.63.240.131:8080 --group external

       # vim /etc/haproxy/haproxy.sh


Marathon <wbr>服务发现及负载均衡 <wbr>marathon-lb 

 

 

       网页访问本机的10000端口,即可查看业务,配置成功

 

       http://10.63.240.128:10000

 

       查看9090端口,HAProxy统计

 

       http://10.63.240.128:9090/haproxy?stats

 

       查看haproxy.conf配置

 

       http://10.63.240.128:9090/_haproxy_getconfig

 

 

|| 容器化

 

1- 添加域名解析

 

       # vim /etc/hosts

              192.168.0.223   ziyan.l-06-rbd-01

              192.168.0.224   ziyan.l-07-rbd-02

              192.168.0.222   ziyan.l-08-rbd-03

 

2- 下载镜像

 

       # docker pull mesosphere/marathon-lb

 

3- 使用sse模式

 

       使用SSE模式, marathon-lb连接到marathon的事件endpointapp状态改变时收到通知

 

       # docker run -e PORTS=9090 --net=host mesosphere/marathon-lb sse \

       > --marathon http://10.63.240.131:8080 --group external

 

       现在haproxy的配置文件会根据Appinstances变化情况实时更新

 

 

4- marathon-lb容器也加入marathon集群(需部署好marathonctl

 

       # vim /opt/marathonctl/apps/lb.json

 

              {

                "id": "marathon-lb",

                "args":[

                  "sse",

                  "--marathon", "http://10.63.240.131:8080",

                  "--group", "external"

                ],

                "cpus": 1,

                "mem": 512,

                "instances": 1,

                "env": {

                  "PORTS": "9090"

                },

                "container": {

                  "type": "DOCKER",

                  "docker": {

                    "image": "mesosphere/marathon-lb",

                    "network": "HOST"

                  }

                }

              }

 

       # usemara app create /opt/marathonctl/apps/lb.json

 

 

                "env": {

                  "PORTS": "9090"

                },

                "container": {

                  "type": "DOCKER",

                  "docker": {

                    "image": "mesosphere/marathon-lb",

                    "network": "HOST"

                  }

                }

              }

 

       # usemara app create /opt/marathonctl/apps/lb.json

 

 

 

http://blog.sina.com.cn/s/blog_6f2d2e310102wisi.html

分享到:
评论

相关推荐

    marathon-lb-1.4.3.tar.gz

    Marathon-LB是Mesosphere公司开发的一个用于Mesos和Marathon框架的负载均衡器,它提供了高可用性和可扩展性的服务发现与负载均衡解决方案。在分析`marathon-lb-1.4.3.tar.gz`这个压缩包时,我们可以深入探讨Marathon...

    marathon-lb:Marathon-lb是DCOS的服务发现和负载平衡工具

    马拉松磅 Marathon-lb是通过使用应用程序状态来管理HAProxy的工具。 HAProxy是一种快速,高效,经过考验的高可用性负载均衡器,具有许多高级功能,可为许多备受瞩目的网站提供支持。特征无状态设计:不直接依赖任何...

    DCOS之marathon技术文档

    在Marathon之负载均衡篇中,文档详细描述了如何通过Marathon-Bridge、HAProxy、Bamboo等工具来实现负载均衡。 最后,Marathon之应用迁移篇则讲述了如何在Marathon环境中进行应用迁移。 整体来看,Marathon技术文档...

    为什么要用服务发现.docx

    Kubernetes和Marathon等部署平台也会提供内置代理作为服务端发现的负载均衡器。服务端发现模式简化了客户端的实现,但增加了对负载均衡器管理和配置的复杂性。 **服务注册表**: 服务注册表是服务发现的核心,它...

    Marathon+User+Guide.pdf

    ### Marathon及Marathon ITE 使用指南知识点详述 #### 关于Marathon及Marathon ITE - **Marathon**:这是专为Java/Swing应用程序设计的一款顶级开源自动化测试工具。自2006年起,由Jalian Systems公司进行维护、...

    HTTP反向代理、负载均衡软件Traefik.zip

    Træfɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以对配置进行自动化、...

    letsencrypt-marathon-lb:让我们为支持DCOS严格安全模式的Marathon-lb进行加密集成

    此应用程序允许您自动生成和更新Marathon-lb的“让我们加密”证书。 它必须作为马拉松应用程序运行。 应用程序在启动时会生成或更新证书,并每隔24小时检查一次是否需要更新证书。 如果您需要新域或其他域的证书,则...

    marathon-0.8.2.tgz

    这个“marathon-0.8.2.tgz”文件是一个压缩包,包含了 Marathon 的 0.8.2 版本,该版本发布于2014年左右。本文将详细讲解 Marathon 的核心功能、架构、配置以及如何部署和管理服务。 Marathon 的主要功能: 1. **高...

    Python库 | marathon-0.8.11.tar.gz

    在`marathon-0.8.11.tar.gz`这个压缩包中,包含的是`marathon`库的0.8.11版本。这个版本可能包含了该库的源代码、文档、示例以及必要的构建工具。安装和使用这个库通常需要对Python开发有一定的了解,同时也需要...

    swift-Marathon让你能够轻松编写运行和管理你的Swift脚本

    在JohnSundell-Marathon-582505b这个压缩包中,你可能找到的是Marathon项目的源码,包括了项目的结构、代码、文档和示例。如果你是开发者,深入研究这个源码可以帮助你更好地理解Marathon的工作原理,甚至可以参与...

    Python库 | marathon_acme-0.1.0-py2.py3-none-any.whl

    今天我们要探讨的是名为`marathon_acme`的Python库,它封装了特定的功能,旨在为用户提供便捷的服务。这个库的版本为0.1.0,兼容Python 2和Python 3,文件名为`marathon_acme-0.1.0-py2.py3-none-any.whl`,是一个...

    marathon

    虽然 Marathon 不直接提供负载均衡功能,但它可以与 Consul、HAProxy 或者其他服务发现工具结合使用,实现自动化服务发现和负载均衡。 10. **持续集成/持续部署(CI/CD)**:在 C# 开发流程中,可以将 Marathon 集成...

    marathon-consul, 桥马拉松信息到 Consul.zip

    marathon-consul, 桥马拉松信息到 Consul 马拉松领事 马拉松到领事桥的元数据发现。marathon-consul 获取由马拉松事件总线提供的信息并将它的转发到 consul tree 。 启动时,它还将所有来自马拉松的信息同步到 ...

    微服务架构之服务发现1

    服务端发现模式中,服务消费者并不直接与服务实例交互,而是将请求发送到负载均衡器,由负载均衡器负责查询服务注册中心,找出可用的服务实例并转发请求。例如,AWS的Elastic Load Balancer (ELB)、NGINX以及...

    dcos之marathon技术文档

    Marathon 是一个mesos 框架,能够支持运行长服务,比如web 应用 等。是集群的分布式Init.d,能够原样运行任何Linux 二进制...DNS 实现服务发现和负载平衡,可定制化监控策略实现Task(一个App 对应多个Task)的自动扩缩

    Python库 | marathon-0.7.7.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:marathon-0.7.7.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    云产品-云计算基础-容器服务CCS

    云计算基础中的容器服务CCS是基于Mesos、Marathon、CoreDNS的核心组件,提供了集群的细粒度资源管控、容器编排功能、虚拟私有云VPC、负载均衡器CLB、存储CBS、组件仓库CCD和镜像服务CCR等产品,为用户提供便捷的容器...

    marathon.tar.gz

    dc/os marathon offline install rpm resource;yum install --downloadonly --downloaddir=/tmp/marathon marathon

    marathon-proxy-manager:marathon mesos 环境的代理和负载平衡设置自动化

    马拉松代理经理用于马拉松 mesos 环境的 Nginx ...安装在终端中安装类型pip install marathon-proxy-manager 执行安装后,您可以使用以下命令启动它: python -m marathon_proxy_manager --marathon-url http://some

Global site tag (gtag.js) - Google Analytics