下一代云计算平台Apache Mesos定制自己的PaaS(应用发布+负载均衡+服务发现)

书接上文《下一代云计算平台Apache Mesos之使用marathon发布应用

作为一个简单的PaaS(平台即服务),应该具备发布应用,调整应用个数,重启应用,暂停应用(marathon提供)以及负载均衡和服务发现的功能。本文主要演示负载均衡和服务发现。

1 发布docker程序到marathon

1.1 发布docker镜像到marathon平台

1.1.1 编写Docker.json

{
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "192.168.1.103:5000/tomcat",
      "network": "BRIDGE",
      "portMappings": [
         { "containerPort": 8080, "hostPort": 0, "protocol": "tcp" }
      ]
    }
  },
  "id": "tomcat",
  "instances": 3,
  "cpus": 0.5,
  "mem": 512,
  "uris": [],
  "cmd":"/opt/tomcat/bin/deploy-and-run.sh"
}

1.1.2 通过marathon api发布

curl -X POST -H "Content-Type: application/json" http://192.168.1.110:8080/v2/apps [email protected]

1.1.3 说明

本例发布了2个docker images,另外是一个spring boot的可执行jar包。

2 服务发现与负载均衡

2.1 原理

marathon的restful api 有查看当前程序信息的接口:

http://192.168.1.110:8080/v2/tasks

demo    10001   192.168.1.113:31001 192.168.1.115:31001 192.168.1.114:31001
tomcat  10000   192.168.1.113:31000 192.168.1.115:31000 192.168.1.114:31000

haproxy-marathon-bridge根据该接口生成haproxy的服务发现及负载均衡。

2.2 选取任意一台局域网内机器

使用的ip是192.168.1.103

2.3 安装haproxy

yum -y install haproxy

2.4 安装haproxy-marathon-bridge

wget https://raw.githubusercontent.com/mesosphere/marathon/master/bin/haproxy-marathon-bridge

chmod +x haproxy-marathon-bridge

2.5 生成haproxy.cfg

./haproxy-marathon-bridge 192.168.1.110:8080 > /etc/haproxy/haproxy.cfg

生成内容:

global
  daemon
  log 127.0.0.1 local0
  log 127.0.0.1 local1 notice
  maxconn 4096

defaults
  log            global
  retries             3
  maxconn          2000
  timeout connect  5000
  timeout client  50000
  timeout server  50000

listen stats
  bind 127.0.0.1:9090
  balance
  mode http
  stats enable
  stats auth admin:admin

listen demo-10001
  bind 0.0.0.0:10001
  mode tcp
  option tcplog
  balance leastconn
  server demo-3 192.168.1.113:31001 check
  server demo-2 192.168.1.115:31001 check
  server demo-1 192.168.1.114:31001 check

listen tomcat-10000
  bind 0.0.0.0:10000
  mode tcp
  option tcplog
  balance leastconn
  server tomcat-3 192.168.1.113:31000 check
  server tomcat-2 192.168.1.115:31000 check
  server tomcat-1 192.168.1.114:31000 check

2.5 启动haproxy

systemctl start haproxy
systemctl enable haproxy

2.6 访问测试

tomcat:http://192.168.1.103:10000

demo:http://192.168.1.103:10001 

docker发布文档地址:https://mesosphere.github.io/marathon/docs/native-docker.html

负载均衡服务发现文档地址:https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html

如有格式问题,请访问:

https://github.com/wiselyman/study/blob/master/mesos/mesos-%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E5%92%8C%E8%B4%9F%E8%BD%BD

时间: 2024-07-29 11:52:24

下一代云计算平台Apache Mesos定制自己的PaaS(应用发布+负载均衡+服务发现)的相关文章

apache+inotify-tools+keepalived+lvs-DR模式配置高可用负载均衡集群

环境:虚拟机VMware workstation 9 操作系统:Redhat 5.6 i386 一.keepalived+LVS-DR模式配置高可用负载均衡 拓扑如下: 二.服务器IP配置信息 四台服务器均有VMware虚拟机实现,两台HA主机.两台web服务器.网络方式都设置为NAT模式 1.master:192.168.80.145 2.slaver:192.168.80.137 3.web1:192.168.80.144 4.web2:192.168.80.134 5.VIP:192.16

(tengine+keepalived)+(apache+tomcat)+memcached+mysql实现高可用、负载均衡、可扩展架构

目录 1.高可用.负载均衡.可扩展架构的需要背景 2.系统架构 3.系统规划及说明 4.系统部署及测试 5.总结 1.高可用.负载均衡.可扩展架构的需要背景 从互联网诞生以来,网站架构随着互联网的快速发展发生着巨大的变化,现今,数据每天都在以爆炸式的增长,大数据.云计算等概念被业内炒得沸沸扬扬,这些前沿技术也在各行各业落地开花.每一种新技术的提出几乎都会或多或少影响着IT的基础架构,面对数据的快速增长.我们急需一套高可用.负载均衡.可扩展的架构来作为支撑. 2.系统架构 此次博文介绍一套高可用.

apache代理多个tomcat实例如何做负载均衡

实验环境: IP:10.0.0.10 系统:CentOS 6.4 jdk版本:java version "1.8.0_65" tomcat版本:Apache Tomcat/8.0.24 apache版本:Apache/2.2.27 (Unix) 思路: 1.安装Apache  2.安装tomcat  3.安装mod_jk  4.加载mod_jk  5.关闭tomcat的侦听端口  6.应用分离(静态与动态页面分离) 安装apache [[email protected] src]# t

APACHE 2.2.8+TOMCAT6.0.14配置负载均衡

目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1.  Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡. 2.  为系统设定 Session 超时时间,包括 Apache 和 tomcat 3.  为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat. 一.前期准备工作:安装用的程序(前提保证已安装了JDK1.5以

通过CaaS平台来部署负载均衡服务

作者:张言,精灵云产品总监,虚拟化领域专家,曾任IBM和VMWare资深产品经理,对IaaS/PaaS产品有丰富的经验,实际参与国内多家IDC中心PaaS平台搭建工作. 现代应用程序被分解成更小更无耦合微服务.这样的微服务可更容易的在大型计算集群扩展.这种方式着重考虑2个关键的构架考虑:服务发现和负载均衡. 作为开发,构建他们的应用可扩展,他们需要考虑和设计在集群内外,每一个服务是如何被其他服务发现.此外,因为这些服务水平的在集群扩展, 他们应该被对等的用来做负载均衡. 最近我们发布了Ghost

(转)Hprose与WCF在云计算平台Azure上的对决

Windows Azure Platform是一个运行在微软数据中心的云计算平台.它包括一个云计算操作系统和一个为开发者提供的服务集合.开发人员创建的应用既可以直接在该平台 中运行,也可以使用该云计算平台提供的服务.相比较而言,Windows Azure platform延续了微软传统软件平台的特点,能够为客户提供熟悉的开发体验,用户已有的许多应用程序都可以相对平滑地迁移到该平台上运行.另外 Windows Azure Platform还可以按照云计算的方式按需扩展,在商业开发时可以节省开发部署

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡 今天是2017年的第一天,昨天也就是2016年的最后一天,我尝试部署了Centos7+Nginx+Keepalived实现WEB服务的高可用负载均衡服务,终于在2017年的第一天前完成了,所以在此分享给有需要的朋友:说到负载均衡,其实在linux下有很多服务可以实现,比如nginx.haproxy.lvs等服务,当前我们在前面的文章有介绍过了,但是对于高可用服务,我们在linux下最常见也是应用最多的是Kee

配置apache和nginx的tomcat负载均衡

概述 本篇文章主要介绍apache和nginx的相关配置,tomcat的相关安装配置我在前面有写过一篇,详细介绍通过两种配置方法配置nginx. tomcat配置参考:http://www.cnblogs.com/chenmh/p/5048893.html apache配置  源码安装 ./configure --prefix=/usr/local/apache (安装目录) make make install 对于2.4以上版本的apache在进行源码安装的时候有的机器会提示缺少部分插件例如:

apache高级应用--------负载均衡(LB)

背景 负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性. 相关 常见的负载均衡实现分别硬件和软件, 商业硬件负载均衡中应用比较广泛的有F5.Netscaler等相关国际提供商 优点:稳定,硬件级别性能高,非系统无关,有强大可靠的技术支持. 缺点:价格贵,配置冗余. 软件负载均衡中应用比较广泛的有Nginx,Haproxy.Nginx.LVS, Apache(根据HTTP