内容简介:原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!原文链接地址:因本人的mac本才8g,无法同时启动4个虚拟机来完成,3个server,1个harbor。所以镜像直接用hub.docker.com的。mac就启动3个虚拟机。代码里都增加dockerhub的方式。源码:
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址: 『高级篇』docker之Mesos微服务部署(26)
因本人的mac本才8g,无法同时启动4个虚拟机来完成,3个server,1个harbor。所以镜像直接用hub.docker.com的。mac就启动3个虚拟机。代码里都增加dockerhub的方式。源码: github.com/limingios/m… mesos分支
HOST运行服务
- 启动zookeeper
通过提供的源码 shell 脚本直接运行。
sh start.sh 复制代码
- 启动redis
sh start.sh 复制代码
- 启动mysql
sh start.sh 复制代码
- 启动marathon-lb
sh start.sh 复制代码
server01
编写的shell 脚本
#!/bin/bash docker run -d --net=host --privileged \ --hostname=192.168.66.101 \ -e MESOS_PORT=5051 \ -e MESOS_MASTER=zk://192.168.1.130:2181/mesos \ -e MESOS_SWITCH_USER=0 \ -e MESOS_CONTAINERIZERS=docker,mesos \ -e MESOS_LOG_DIR=/var/log/mesos \ -e MESOS_WORK_DIR=/var/tmp/mesos \ -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \ -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /sys:/sys \ -v /usr/bin/docker:/usr/local/bin/docker \ mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \ --no-hostname_lookup --ip=192.168.66.101 复制代码
sh mesos-slave.sh 复制代码
server02
编写的shell 脚本 mesos.sh
!/bin/bash docker run -d --net=host \ --hostname=192.168.66.102 \ -e MESOS_PORT=5050 \ -e MESOS_ZK=zk://192.168.1.130:2181/mesos \ -e MESOS_QUORUM=1 \ -e MESOS_REGISTRY=in_memory \ -e MESOS_LOG_DIR=/var/log/mesos \ -e MESOS_WORK_DIR=/var/tmp/mesos \ -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \ -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \ mesosphere/mesos-master:1.7.0 --no-hostname_lookup --ip=192.168.66.102 复制代码
编写的shell 脚本 marathon.sh
#!/bin/bash docker run -d --net=host \ mesosphere/marathon:v1.5.12 \ --master zk://192.168.1.130:2181/mesos \ --zk zk://192.168.1.130:2181/marathon 复制代码
sh mesos.sh sh marathon.sh 复制代码
server03
编写的shell 脚本 marathon.sh
#!/bin/bash docker run -d --net=host --privileged \ --hostname=192.168.66.103 \ -e MESOS_PORT=5051 \ -e MESOS_MASTER=zk://192.168.1.130:2181/mesos \ -e MESOS_SWITCH_USER=0 \ -e MESOS_CONTAINERIZERS=docker,mesos \ -e MESOS_LOG_DIR=/var/log/mesos \ -e MESOS_WORK_DIR=/var/tmp/mesos \ -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \ -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /sys:/sys \ -v /usr/bin/docker:/usr/local/bin/docker \ mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \ --no-hostname_lookup --ip=192.168.66.103 复制代码
sh mesos-slave.sh 复制代码
memsos配置微服务
我部署下,看我分配的内存和cpu就知道为什么叫微服务了
- message-thrift-python-service 部署
0.1cpu和128Mb内存足够了。
连接是hub.docker.com,上边说了内存太低了没办法启动那边多镜像。
点击json mode 修改,其实就是修改json文件
修改成画红色部分的内容,containerPort是应用内的端口,servicePort是marathon控制的端口(上一节统计过外部端口的数字)。
- user-thrift-service 部署
- user-edge-service 部署
跟上边一样修改端口
- course-dubbo-service 部署
它不需要端口的映射,直接删除portMappings就可以了
- zhugeaming/course-edge-service 部署
- gataway-zuul 部署
上边六个服务都需要增加一个labels
key:HAPROXY_GROUP value:external
external 跟原来marathon-lb里面的分组名称一致
部署完成,因为用的dockerhub的仓库,真心慢
本身就是掩饰,家里的笔记本坏了,不好制作局域网的 docker 仓库,所以比较麻烦。 不过大概就是这么操作的。如果照着我做的老铁,因为我之前跑起来没问题了,建议找个内存大的至少16g的老玩我说的配置。
marathon 健康检查的类型
3种类型
- http
- command
- tcp
- 如果是查看端口的话,需要使用tcp的形式
- command类型,也就是shell脚本的形式,可以随意发挥
判断是否成功是看命令退出的返回值是不是0
- http类型,也就是直接返回某个网址看看是否返回code=200
项目的根路径开始的
环境变量的配置
容器的挂载
那些服务适合那些主机标签和权限都在optional里面
PS:基本的mesos和marathon讲述完成了,因为主机内存后面的结果没有演示但是基本的命令和镜像有了后面基本是,基本操作啦!下次一起学学docker swarm!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SpringCloud微服务部署
- DockerSwarm 微服务部署
- 『高级篇』docker之Mesos微服务部署(26)
- 『高级篇』docker之DockerSwarm微服务部署(30)
- 当深度学习遇到了微服务:微服务部署预测模型
- 微服务实战问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java数据结构和算法
拉佛 / 计晓云 / 中国电力出版社 / 2004-02-01 / 55.00元
《Java数据结构和算法》(第2版)以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。 《Java数据结构和算法》(第2版)提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经......一起来看看 《Java数据结构和算法》 这本书的介绍吧!