\

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

\

\\

Atlassian把他们的内部工具Escalator发布为开源项目。该工具针对Kubernetes节点提供了配置驱动的抢占式纵向扩容和更快地纵向缩容。

\\

2013到2014年,Atlassian采用了容器,并构建了自己基于Docker的PaaS,使用它运行内部的平台和服务。除了pod的基本调度和运行外,他们的编排还需要具有弹性,以应对云硬件故障及响应负载,快速实现纵向扩容或缩容。Kubernetes就符合要求,团队就使用它作为他们的编排器。他们的构建工程基础设施所包含的工作负载需要配备数以百计的虚拟机——这是他们需要首先迁移的其中一个部分。

\\

Kubernetes有两个自动扩展器——横向的pod自动扩展器和集群扩展器。前者实现pod——容器或一组相关容器之上的一种抽象——的横向扩容和缩容,因此,它依赖于底层计算资源(通常是虚拟机)的可用性。集群自动扩展器用于扩展计算基础设施本身。可以理解,由于虚拟机需要的配置时间更多,所以纵向扩容和缩容需要的时间都比较长。集群自动扩展器的任何延迟都会转变成pod自动扩展器的延迟。类似地,pod可以非常快速地缩容,但计算VM要用更多的时间才能做到。这会导致来自空闲计算VM的巨大成本,尤其是在Atlassian这样的基础设施规模上。Atlassian的问题仅限于对扩容和缩容延迟容忍度较低的批处理工作负载。他们决定编写自己的自动扩展功能,在Kubernetes之上解决这些问题。

\\

Escalator是用Go编写的,它为计算VM的容量上限和下限提供了可配置的阈值。其中有些配置属性是通过修改Kubernetes一项名为“taint”的特性实现的。VM节点可以被特定的值“污染”(标记),那样,有相关标记的pod就不会调度到它上面。标记之后,Kubernetes标准的集群自动扩展器就可以更快地拿下未使用的节点。纵向扩容配置参数是一个用使用率表示的阈值,通常小于100,以便有个缓冲。当使用率达到阈值时,Escalator会自动扩展计算VM,为稍后可能出现的容器提供空间,使它们可以快速启动。

\\

\\

图片来源:https://developers.atlassian.com/blog/2018/05/introducing-escalator/

\\

像AWS这样的公有云提供商试图使用类似Fargate这样的解决方案来解决VM管理问题,不过,它们没有提供Escalator那样的配置选项。在容器环境中,计算扩展/收缩是一个常见的问题。如果计算VM需要几分钟才能启动起来,那么容器启动的速度优势就不存在了。保持VM运行解决了这个问题,代价是运行可能空闲的VM。需要注意的是,Escalator解决了一个在两个Kubernetes自动扩展器的情况下非常特殊的问题,就是批处理工作负载。

\\

Escalator的运行需要Kubernetes 1.8+和Golang 1.8+。目前,对于云提供商,它仅支持AWS。Atlassian之前已经开源了另外一个Kubernetes相关的项目Smith。

\\

查看英文原文:Atlassian Releases Escalator, an Autoscaling Tool for Kubernetes Nodes

Atlassian发布Kubernetes节点自动化扩展工具Escalator相关推荐

  1. 低代码从技术走向产品,用友发布自动化设计工具“码前”

    低代码以往只被作为技术被讨论,这一次,用友用低代码推出了自动化.一站式"需求+产品+设计"工具"码前",帮助企业用户快速完成代码前的所有设计工作. 编辑 | 宋 ...

  2. post-mortem机制_发布Mortem:Kubernetes节点OOM

    post-mortem机制 生产问题从不有趣. 它们似乎总是在您不上班时发生,原因似乎总是很愚蠢. 我们最近在生产Kubernetes集群中遇到了节点内存不足的问题,但是该节点很快恢复了,没有任何明显 ...

  3. 排名前15位的Kubernetes监控和安全工具

    Kubernetes推动了竞争力的提升.如今,作为一项成熟的技术,全球各地的企业都在迅速采用基于微服务的,容器驱动的方法来交付软件.Kubernetes是行业标准.行业领导者正在帮助它如雨后春笋般发展 ...

  4. Maven(自动化构建工具)

    目录 Maven简介 1.1 软件开发中的阶段 1.2 Maven能做什么 1.3 什么是Maven 1.4 Maven的概念 1.5 Maven安装 Maven的核心概念 2.1约定的目录结构 2. ...

  5. 这21个自动化部署工具,你都知道吗?

    作者:Darren Perucci 翻译:袁思思 来源:DZone 原文链接:https://dzone.com/articles/21-automated-deployment-tools-you- ...

  6. 千锋重庆Java学习之五大Java自动化部署工具

    在Java开发工具中,有一种是自动化部署工具,下面千锋重庆小编就给大家介绍五大Java自动化部署工具: 五大Java自动化部署工具 Jenkins Jenkins 是一种开源持续集成(CI) 工具,能 ...

  7. 工欲善其事,必先利其器:5大Java自动化部署工具

    工欲善其事必先利其器:5大Java自动化部署工具,下面和小编一起来看看吧! 在Java开发工具中,有一种是自动化部署工具,下面小编就给大家介绍五大Java自动化部署工具: Jenkins Jenkin ...

  8. 游戏平台运维自动化扩展之故障自愈

    马辰龙,负责某大型网页游戏平台的运维开发,专注于运维自动化.监控系统故障自愈研究,擅长Perl开发.正则表达式.日志精确匹配. 网络游戏是对用户体验要求最严苛的IT行业之一,任何IT问题造成的业务不稳 ...

  9. 开源自动化部署工具_6种开源家庭自动化工具

    开源自动化部署工具 编者注:本文最初于2016年3月发布,现已更新,以包括其他选项和信息. 自从我们上一次在2016年发布有关家庭自动化工具的评论文章以来,物联网不仅仅是一个时髦的词,而且这个事实正在 ...

最新文章

  1. ubuntu16创建开机启动服务
  2. 千亿级照片,毫秒间匹配最佳结果,微软开源Bing搜索背后的关键算法
  3. show()和exec()的区别
  4. openwrt 挂载摄像头
  5. (三)通用视图(generic views)
  6. Java 字符串操作的总结1(转载)
  7. python 字节码指令含义_python 字节码指令列表
  8. 【升级包】jeecg_online 支持主子表列表展示风格模板升级包,简易升级
  9. android流量显示插件,[android]仿360状态,种流量监控桌面浮动显示
  10. cocos2d-x 2.x版本接入bugly的总结
  11. ssh自动登陆和scp自动拷贝文件
  12. Java学习之路 之 注意篇
  13. 阿里巴巴正式宣布5.4亿现金战略投资中国万网
  14. Narrow daylight 歌词翻译
  15. [Excel知识技能] 将数值格式数字转换为文本格式
  16. 小度霸屏头部综艺,智能音箱迎来国民品牌
  17. Vue的各种杂乱知识点整理(持续更新中...)
  18. java一个猿人部落生存游戏,猿人进化模拟器无限金币钻石无敌版
  19. 如何通过https访问网站(也就是如何部署SSL证书)
  20. 当前国际国内经济形势分析 - 中国人民大学黄卫平

热门文章

  1. javascript worker 多线程 简单示例
  2. 八、进程调度的时机、切换与过程,调度方式
  3. 【建站系列教程】2.1、fiddler电脑抓包教程
  4. LeetCode 595 Big Countries: SQL的题
  5. GO语言教程1:Windows环境下GO语言的安装与配置
  6. o oia ospf 路由优先_OSPF基本配置及OSPF特殊区域配置
  7. android 组件导出安全,App安全检测实践基础:组件安全(二)
  8. linux cache控制 内核,linux内核之bcache简介 [转]
  9. iOS 字符属性NSAttributedString描述
  10. RunLoop 详解