“绞杀者模式”实现任务从Mesos向K8s迁移

背景

我们机器学习平台上的任务最初是通过 Marathon 启动在Mesos集群上的,分布式训练框架是 ps-lite。但随着技术的变更升级,Mesos+Marathon 组合所用的技术越来越落后,K8s霸主的地位越来越稳固,我们决定用K8s替代 Mesos+Marathon 组合。如何实现将任务从 Mesos 集群以用户无感知的方式迁移到 K8s 集群是我们要解决的首要问题。

旧的启动流程

ps-lite在 Mesos 集群上的启动过程大体可以分为4个步骤(如下图所示):

    1. 向Marathon发送请求创建scheduler Task
    1. Marathon 向 Mesos 发送请求启动 scheduler任务
    1. scheduler任务后再执行脚本中的 run_worker 方法调用 Marathon 接口创建 worker Task
    1. Marathon 向 Mesos 发送请求启动 worker 任务
在Mesos上启动ps-lite训练任务

流程倒是不复杂,但第3步的脚本是放在 Docker 镜像中的,脚本中写死必须调用 Marathon 的接口。我们知道 Docker 镜像一旦发布之后就难以再修改,并且由于之前没有定义 Docker 镜像命名规则,很难找到全部的 Docker 镜像并逐一完成修改。由于之前没有任何文字记录,基础镜像的 Tag 也无从查找。
既然修改镜像中脚本的方式不行,那就研究别的办法吧。
不过好在 Marathon 的域名是以参数的形式传入的,如果我能利用“绞杀者模式”,新建一个服务模拟 Marathon 的接口,然后在启动 scheduler 时传入新服务的域名,把创建 worker 的请求导入到新服务,新服务收到请求后再调用 K8s 的接口创建 worker,问题不就解决了吗?

绞杀者模式

通过使用新的应用程序和服务逐渐替换遗留系统的特定功能部件来逐步迁移。由于替换遗留系统的功能,新系统最终将替代旧系统的所有功能,绞杀并允许停用旧系统。

通俗来讲,就是用新的应用程序和服务逐步替换特定的功能。 创建一个外层来拦截请求前往后端旧版系统。 外层可将这些请求路由到旧版应用程序或新服务。 现有功能可逐步迁移到新系统,使用者可继续使用相同的接口,他们并不知道迁移已发生。

新的启动流程

于是,我在 alpha-exptmgr 模块中新建了一个 MarathonController 用于模拟 Marathon 的接口,同时在启动 scheduler 时传入 alpha-exptmgr 的域名,MarathonController 在接收到创建 worker 的请求后,调用 K8s 的接口创建 worker 任务(如下图所示)。于是就成功实现了将任务从 Mesos 集群以用户无感知的方式迁移到 K8s 集群。

在K8s上启动ps-lite训练任务

总结

  1. 绞杀者模式在系统升级和任务迁移时可以用到
  2. 尽量不要在镜像里写死一些可能发生变化的值,最好是以启动参数的形式传入
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • 背景 我们公司作为一个业内领先的新闻资讯类公司,基于机器学习的推荐排序、自然语言处理、图像识别等算法能力必不可少,...
    王勇1024阅读 5,089评论 4 6
  • 最近在反思,为什么在支撑容器平台和微服务的竞争中,Kubernetes会取得最终的胜出。因为在很多角度来讲三大容器...
    43ce3d72fadb阅读 4,369评论 1 66
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,401评论 16 21
  • 创业是很多人的梦想,多少人为了理想和不甘选择了创业来实现自我价值,我就是其中一个。 创业后,我由女人变成了超人,什...
    亦宝宝阅读 1,771评论 4 1
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,498评论 0 11