zk + marathon 完美结合

来源:互联网 发布:单片机gnd是什么意思 编辑:程序博客网 时间:2024/06/08 06:39

zkServer.sh文件

这里写图片描述

因为在marathon里面启动docker镜像的时候,一般会打出一个在前端的进程,日志直接输出到console,为了把日志保存在硬盘上,所以我们需要在zkServer.sh这个启动文件里面,把start-foreground里面的启动做下修改,就是把输出放到某个文件.

每次启动拉出镜像

这里写图片描述

打出一个虚拟地址

这里写图片描述

环境变量

这里写图片描述
主要有两个,一个是 ZOO_LOG_DIR用于存放日志的地方
另一个是日志轮转的设置,我还没搞明白,也还没有测试看到效果

健康检查

这里写图片描述

目前是关闭状态,而且发现,如果一旦设置之后,就没有办法去掉了哦。
那怎么办呢? 直接destroy掉,然后重新生成。

存储卷

这里写图片描述

根据目前的经验,主要有两个目录
/appdata , /dcos/volume1/zk1/data , rw
/applog, /dcos/volume2/zk1/log, rw

最牛逼 - 手动docker名字更新

这里写图片描述

这里写图片描述

docker启动后,会调用如下脚本:

#!/bin/bashIP=`ifconfig eth0 | grep inet | awk '{print $2}' | head -n 1 | awk -F\: '{print $2}'`ID=`cat /appdata/myid`hostname="zk$ID"hostip="$IP"#sed  -i "/ zk$ID/d" /etc/hosts#echo "$IP zk$ID" >> /etc/hosts#curl -X POST "http://jenkins.ops.ac.cn/job/ddns/build" --data token=bb0ca9ce17905ac781d72fbe2eb6def7 --data-urlencode json=\'{"parameter": [{"name":"hostname","value":"$hostname"}, {"name":"hostip","value":"$hostip"}]}\'curl -u ops:yourmima -FSubmit=Build "http://jenkins.ops.ac.cn/job/ddns/buildWithParameters?hostname=$hostname&hostip=$hostip"

jenkins job

echo "hostname: $hostname"echo "hostip: $hostip"targetfile="/data/dnsmasq/hosts2"sed -i "/ $hostname/d" $targetfileecho "$hostip $hostname" >> $targetfile# 重启dnsmasqsudo service dnsmasq reload

这样,就有了一个简单的name,value服务喽

0 0