美文网首页
docker mesos编排(二):marathon-lb介入

docker mesos编排(二):marathon-lb介入

作者: 姜小姜小 | 来源:发表于2019-04-09 09:19 被阅读0次

docker 的mesos + marathon编排使用marathon-lb做负载均衡,本次介绍如何在已经搭建好的编排中介入marathon-lb

1、从节点拉取marathon-lb的docker镜像

docker pull mesosphere/marathon-lb

2、在marathon页面上创建marathon-lb application,此处选择json模式

{
  "id": "/marathon-lb",
  "cmd": null,
  "cpus": 1,
  "mem": 128,
  "disk": 0,
  "instances": 1,
  "constraints": [
    [
      "hostname",
      "UNIQUE"
    ]
  ],
  "acceptedResourceRoles": [],
  "container": {
    "type": "DOCKER",
    "docker": {
      "forcePullImage": false,
      "image": "docker.io/mesosphere/marathon-lb",
      "parameters": [],
      "privileged": true
    },
    "volumes": []
  },
  "portDefinitions": [
    {
      "port": 10001,   #lb服务端口
      "name": "default",
      "protocol": "tcp"
    }
  ],
  "args": [
    "sse",
    "-m",
    "http://10.122.163.241:8080",   #maarthon的服务地址
    "--group",
    "external"    #group名称  container中指定名称要和该名称一致
  ]
}

3、创建Tomcat实例测试marathon-lb的负载均衡,此处也使用json模式

{
  "id": "/test-tomcat",
  "cmd": null,
  "cpus": 0.5,
  "mem": 128,
  "disk": 0,
  "instances": 2,
  "acceptedResourceRoles": [
    "*"
  ],
  "container": {
    "type": "DOCKER",
    "docker": {
      "forcePullImage": false,
      "image": "tomcat:latest",
      "parameters": [],
      "privileged": false
    },
    "volumes": [
      {
        "containerPath": "/usr/local/tomcat/logs",
        "hostPath": "/opt/test-tomcat",
        "mode": "RW"
      }
    ],
    "portMappings": [
      {
        "containerPort": 8080,
        "hostPort": 0,
        "labels": {},
        "protocol": "tcp",
        "servicePort": 10001
      }
    ]
  },
  "healthChecks": [
    {
      "gracePeriodSeconds": 300,
      "ignoreHttp1xx": false,
      "intervalSeconds": 10,
      "maxConsecutiveFailures": 3,
      "path": "/",
      "portIndex": 0,
      "protocol": "HTTP",
      "ipProtocol": "IPv4",
      "timeoutSeconds": 20,
      "delaySeconds": 15
    }
  ],
  "labels": {
    "HAPROXY_GROUP": "external",
    "HAPROXY_0_VHOST": "tomcat.marathon.mesos",
    "HAPROXY_DEPLOYMENT_ALT_PORT": "10002"
  },
  "networks": [
    {
      "mode": "container/bridge"
    }
  ],
  "portDefinitions": []
}
image.png

4、测试访问:可以单独进行访问,也可以使用负载均衡访问

使用负载均衡访问示例:marathon-lb 所在IP + "servicePort": 10001


image.png
image.png

相关文章

网友评论

      本文标题:docker mesos编排(二):marathon-lb介入

      本文链接:https://www.haomeiwen.com/subject/nfdpiqtx.html