dcos - marathon - internal小点

本文介绍如何使用DCOS作为底层平台支撑大量Docker容器,并通过Marathon-LB实现容器的服务发现与负载均衡。文章详细展示了配置过程及测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dcos 作为运行docker的底层支撑平台, 是我们的工作量减少不少,但是由于docker数量众多,即使有了overlay的网络,可是ip地址呀端口号呀那么多,我们可如何是好呢?

对喽,这个时候 marathon-lb就出现了,大致过程如下:
1. 我们运行docker, 打出一个随机端口A,而且告知zk我们希望我们拥有哪个端口B可以被别人访问
2. marathon-lb 会去zk找这个端口B,然后作为负载均衡设备,供别人访问lb的B端口导向实际appdocker的B端口
3. 那么ip地址是哪个来,marathon-lb在运行后,会在zk进行注册,域名 marathon-lb-internal.marathon.mesos或者其他的域名,不错吧,当然解析需要把本地的nslookup server指向 dcos master。

APP docker的配置json

{
  "id": "nginx-internal",
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "nginx:1.9.14",
      "network": "BRIDGE",
      "portMappings": [
        { "hostPort": 0, "containerPort": 80, "servicePort": 10001 }
      ],
      "forcePullImage":true
    }
  },
  "instances": 1,
  "cpus": 0.1,
  "mem": 65,
  "healthChecks": [{
      "protocol": "HTTP",
      "path": "/",
      "portIndex": 0,
      "timeoutSeconds": 10,
      "gracePeriodSeconds": 10,
      "intervalSeconds": 2,
      "maxConsecutiveFailures": 10
  }],
  "labels":{
    "HAPROXY_GROUP":"internal"
  }
}

# 内外部-nginx
{
  "id": "nginx-everywhere",
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "nginx:1.7.7",
      "network": "BRIDGE",
      "portMappings": [
        { "hostPort": 0, "containerPort": 80, "servicePort": 10002 }
      ],
      "forcePullImage":true
    }
  },
  "instances": 1,
  "cpus": 0.1,
  "mem": 65,
  "healthChecks": [{
      "protocol": "HTTP",
      "path": "/",
      "portIndex": 0,
      "timeoutSeconds": 10,
      "gracePeriodSeconds": 10,
      "intervalSeconds": 2,
      "maxConsecutiveFailures": 10
  }],
  "labels":{
    "HAPROXY_GROUP":"external,internal"
  }

}

marathon-lb-internal的json

# 做一个internal marathon-lb
{
  "marathon-lb":{
    "name":"marathon-lb-internal",
    "haproxy-group":"internal",
    "bind-http-https":false,
    "role":""
  }
}

dcos package install --options=options.json marathon-lb

测试

curl http://marathon-lb-internal.marathon.mesos:10001/
  • marathon-lb-internal的管理地址
  • marathon-lb-internal.marathon.mesos:9090/haproxy?stats

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值