【干货】全自主研发Docker容器调度引擎——Newben

背景:
大家所熟知的Docker容器调度引擎包括,K8S, Swarm, Mesos和Rancher,这些调度引擎都是开源的国外引擎,各有各的特点。在同客户和圈内人士沟通中,很多人直言国内容器创业公司大多只是将各种开源组件集成在一起,同质化严重,没有核心竞争力。作为国内第一批的容器创业公司——Ghostcloud精灵云,深知国内需要在容器的诸多领域拥有真正完全可控,同时具有核心竞争力的产品。因此,容器云平台最核心的调度引擎迫切需要一个完全可控,自主的产品,在这种背景下Newben应运而生。Newben取自“牛犇”的谐音,意在构建一个稳定的,牢固的容器调度引擎。接下来就简单介绍一下Newben的实现细节,并通过一系列视频进行功能展示。

组成:
Newben包含几个核心部分:

  • Api-Server : 为UI和第三方集成提供调用接口。
  • Scheduler : 负责解释定义,收集数据和执行调度。
  • DNS/ETCD : 负责服务注册,服务发现,订阅和容器主机访问。
  • Executer :负责执行Server端下发命令。
  • Monitor : 负责监控主机和容器的各种状态。
  • Heapster : 负责健康检查。
  • Calico+ : 经过二次开发的基于Calico的网络插件。
  • Nginx : 七层负载均衡器。
  • HAProxy : 四层/七层负载均衡器。 Keepalive : 高可用组件。

典型逻辑结构:
下面是典型的逻辑结构图:
图片描述
最上层是高可用集群,中间接负载均衡器,底层接多个应用服务,从这幅图就能看出,Newben从设计之初就支持高可用,负载均衡和弹性伸缩,以及多服务挂载。

接下来我们重点介绍下Newben中负责解释定义,收集数据和执行调度的核心组件Scheduler。
Scheduler功能包括:

  • 解释服务定义
  • 选择合适的节点创建容器
  • 监控节点和容器运行状态
  • 服务注册和注销
  • 自动扩容和缩容
  • 灰度升级(Rolling Upgrade)

解释服务定义:
结合解释服务定义,下面是一个服务示例:
图片描述

应用支持的扩展配置:
图片描述

健康检查配置支持(TCP):
图片描述

健康检查配置支持(Http):
图片描述

服务配置:
图片描述

调度配置:
图片描述

高可用集群:
图片描述

服务发现,服务注册和注销:
在容器调度引擎中,这三个过程可以说是最核心的地方。Newben借鉴了多个调度引擎的优点,使用了ETCD和DNS并结合控制服务器来实现以下功能:

  • 创建服务后自动创建DNS记录用于访问相关容器:
  • A记录,通过域名访问单个容器和一组容器。
  • SRV记录,记录容器提供的服务协议、端口、优先级和提供服务的IP列表。
  • 容器状态健康后注册SRV信息:
  • 当容器停止或处于不健康状态时,会注销DNS A记录和SRV信息。

下面就是一个DNS纪录示例:
图片描述

自动扩容和缩容:
这一部分主要通过以下方式实现:

  • Agent monitor 模块实时监测容器cpu和内存使用情况:

    定义性能指标阈值和容器运行上限和下限。

  • 扩容:

    当容器平均性能指标超过阈值一段时间(1分钟)后启动自动扩容,创建更多容器以达到阈值要求的90%。
    当没有主机资源运行新容器时,自动申请新主机(限公有云环境)。

  • 缩容:

    当一段时间(3分钟)负载持续低于阈值80%启动缩容。
    优先删除新创建容器和主机,以释放资源和降低运营成本。

下面是一个扩容的示意图:
图片描述

功能展示:
接下来我们将通过视频的方式给大家展示Newben所支持的一系列功能,本期重点展示Newben的自动扩展功能:
https://v.qq.com/x/page/i03670gm0fh.html

Q&A:

Q: 既然已经有K8S, Swarm, Mesos, Rancher等调度引擎,为什么精灵云还要自主研发调度引擎Newben呢?
A: 调度引擎是容器云平台最核心的部分,开源固然可以快速上手,快速搭建系统,但是任何一个开源系统实际是由一个或多个公司主导的,因此在使用中经常会受制于国外。开源系统由于需求和贡献者多,因此会导致系统异常庞大,企业往往只需要使用20%功能,但是却要去维护80%的其他系统。因此,精灵云从一开始就选择自主研发调度框架,做到完全自主可控,为企业级用户提供更好的服务。

Q: Newben 跟其他容器调度相比有何优势?
A: Newben吸取各调度引擎的长处,可以说是目前国内定制能力最强,支持功能丰富的调度框架,包括在网络、应用迁移、应用快照、模板、负载均衡、弹性伸缩、高可用、CI/CD集成、灰度发布和回滚、镜像集成、日志监控等方面都有着非常大的优势。

Q: Newben稳定吗?有多少用户在使用?
A: Newben虽然是最近才对外公布,但实际是精灵云核心研发团队多年的积累。团队在内核和分布式领域有丰富的经验,主要来自于Veritas, EMC,微软和IBM,平均拥有10年以上分布式系统研发经验,曾负责华为存储软件的OEM工作。Veritas可以说是分布式领域的兵工厂,它的Veritas Cluster Server是最早的分布式中间件,K8S容器负责人Dawn Chen也曾就职于Veritas。因此,Newben是集众家之所长,并且在精灵云的公有云上得到了充分的验证,支撑数万用户和数十万的容器调度。Newben从EcOS 2.0开始内置,目前已经在多家中大型企业得到运用。

电源完整性之Cadence Sigrity Power SI_AC阻抗仿真 之前和大家分享过电源完整性之仿真设计原理链接: [link](https://blog.youkuaiyun.com/weixin_41808082/article/details/117065140?spm=1001.2014.3001.5501).今天接着上一篇文章总结一下电源AC阻抗的的仿真操作流程及一些simulation中的设置参数,用到的时候Cadence Sigrity 中的Power SI组件,下面开始享受仿真的快乐吧: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的Power SI 阅读详情

相关推荐

ArcGIS实战:地形湿度指数(TWI)计算全流程解析

本文详细解析了ArcGIS中地形湿度指数(TWI)的计算全流程,从DEM数据获取、填洼处理到水流方向与汇流累积量计算,最终实现TWI的精准计算。通过实战步骤指导,帮助读者掌握水文建模和土壤湿度预测的关键技术,适用于农业规划、生态研究等领域。

weixin_29231725的博客 872

自研容器调度引擎Newben会成为“中国的K8s”?

作者:精灵云前言: 一个月以前,我们对外详细介绍了内置在精灵云EcOS(Enterprise Container Operation System,企业级容器云平台)中的全自研容器调度框架Newben ,文章刚发出,就有很多人向小GO询问Newben是否会开源的问题。在此,小GO引用精灵云创始人晏东对优快云的专访回答作为给大家的统一答复:“Newben适用于所有以Docker作为虚拟化引擎的场...

xinxinyunli的博客 813

从“要啥”到“咋测”:手把手拆解Aspice SWE.1需求分析,为你的车载/嵌入式项目避坑

本文深入解析Aspice SWE.1需求分析在车载/嵌入式项目中的关键作用,帮助开发者将模糊的系统需求转化为可执行、可验证的软件需求。通过实战案例和结构化方法,详细拆解功能需求原子化、非功能需求工程化表达等核心技巧,为项目避坑提供实用指南。

weixin_31682031的博客 260

内置容器调度引擎Newben,精灵云EcOS更新至2.1版

情人节那天,我们正式对外展现了精灵云自研容器调度引擎Newbon的真实面目(详情可参见微信)。之所以选择情人节那天发布是希望接受过精灵云公有云超50万次容器调度的验证和考验的Newben可以成为最懂广大Docker使用者的“最佳搭档”。 而同样内置了Newbon的Ghostcloud精灵云企业级容器云平台EcOS(Enterprise Container Operation System)也在情...

xinxinyunli的博客 909

QMT中ContextInfo的使用注意

QMT中ContextInfo下声明的全局变量的使用注意事项

路在何方 2812

Claude Code × SolidWorks:批量填属性、格式转换、BOM 汇总自动化实战

摘要:本文介绍利用 Claude Code 生成 VBA 宏实现 SolidWorks 批量处理任务的自动化方案。包含5个实战案例:批量填写自定义属性(60分钟任务→10秒)、批量格式转换(80分钟→30秒)、多配置工程图自动生成(120分钟→2分钟)、滚珠丝杠选型计算(15分钟→10秒)和装配体递归BOM导出(40分钟→1分钟)。所有代码基于SolidWorks 2020+ API,提供完整VBA实现和操作指南,可显著提升设计效率。

m0_64424835的博客 614

精灵云创始人晏东详解自研容器调度引擎Newben

目前容器领域大家比较熟悉的调度引擎比如Kubernetes、Swarm、Mesos等都由国外主导,作为容器最核心的模块,国内迫切需要拥有一款完全自主知识产权的容器调度引擎。总部位于成都的精灵云,从2015年开始策划研发,前后30多名工程师参与其中,到现在已经可以轻松支持上万台服务器调度的Newben终于问世,精灵云创始人晏东对优快云表示,“Newben适用于所有以Docker作为虚拟化引擎的场景...

karamos的专栏 3054

一篇NS SAR ADC的学习记录

一篇NS SAR ADC的学习记录 内容包含: OverSampling Noise Shaping Dynamic Amplifier DAC with Redundancy 最近看了些有意思的SAR ADC结构,但是因为确实对模拟这个领域不太熟,导致了一系列的级联查找,最终达到了一个大概能懂的状态,为了理清思路,顺便别让看了这么些天的东西浪费了,还是计划写篇文章。 ps:由于不是一篇特别正紧的报告,参考文献就写的比较随便,且我还是个做数字的 A 13.5-ENOB, 107-μW Noise-Sha

weixin_45669724的博客 8714

【Docker容器实战】全新的企业级容器云平台——EcOS 2.0大揭秘

写在前面的话前不久,Ghostcloud创始人晏东编著的《Docker容器实战:原理、架构与应用》一书由电子工业出版社正式出版发行。作者从Docker项目正式开源便接触使用Docker技术,因此,本书汇集了作者近3年的Docker实践和应用经验,呈现众多的最新应用案例,是一本详细介绍Docker实战的书籍。 Ghostcloud旨在成为国内最专业的容器云平台,以更轻量、更敏捷、更高效的云平台管理...

xinxinyunli的博客 986

SAP MTO模式实战:从库存管理到成本核算的深度解析

本文深入解析SAP MTO(Make-to-Order)模式在制造业中的应用,从库存管理到成本核算的全流程实战技巧。通过对比MTS模式,详细阐述MTO的核心逻辑、库存管理配置、成本核算路径及与PP模块的集成要点,帮助企业实现按单生产的高效管理,优化库存水平和资金占用。

weixin_29204205的博客 709

Kriging克里金模型实现数据回归预测Matlab代码

Kriging克里金模型实现数据回归预测Matlab代码

天天酷科研的博客 605

企业为什么要使用基于Docker的PaaS/CaaS平台

前言 早在十多年前国内外的一些大厂就开始投入研发和使用容器技术,比如Google,对他们来说,使用容器能够充分利用计算资源节省硬件成本。而这几年——众所周知——真正把容器技术发扬光大的是Docker。Docker的slogan“Build,Ship & Run anywhere”定位非常清晰,Docker的出现打破了传统运维模式里从打包到部署的过程中环境、语言、平台不一致的乱象,将这一整...

xinxinyunli的博客 648

20、Citrix 云桌面常见VDA注册问题汇总

本文总结了与 VDA 中出现的 VDA 会话断开连接、注册、会话卡住以及挂起/崩溃相关的主要支持文章。

我在Citrix、VMware、Veeam、微软和NVIDIA等领域拥有丰富经验的专业人士,专注于设计和维护虚拟化基础设施、实施备份与灾难恢复策略,致力于优化企业的IT环境。 945

【干货】全自主研发Docker容器调度引擎——Newbon

背景: 大家所熟知的Docker容器调度引擎包括,K8S, Swarm, Mesos和Rancher,这些调度引擎都是开源的国外引擎,各有各的特点。在同客户和圈内人士沟通中,很多人直言国内容器创业公司大多只是将各种开源组件集成在一起,同质化严重,没有核心竞争力。作为国内第一批的容器创业公司——Ghostcloud精灵云,深知国内需要在容器...

weixin_33694172的博客 271

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

docker搭建分布式调度系统

一、整体规划图 二、docker中搭建调度服务实例 分别在两台机器上创建job-admin实例 docker run -d -p 8090:8090 --name job-admin-2.1.1_0 --restart=always -v /data/ucm2/:/data/ucm2/:rw -e PARAMS="--spring.profiles.active=dev" ${j...

wachoo的blog 707

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Docker介绍

Docker介绍 1.Docker概念 Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分离,以便快速交付软件。使用Docker,您可以用与管理应用程序相同的方式管理基础设施。通过利用Docker快速发布、测试和部署代码的方法,您可以显著减少编写代码和在生产中运行代码之间的延迟。 1.1什么是 Docker Docker的官方主页 Docker 使用 Google 公司推出的 Go 语言 (opens new window)进行开发实现,基于 Linux

naumy的博客 454

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

实际项目中Swagger的两种配置方式

Swagger项目实战中Docket分布 一:概述 首先介绍一下docket和group 不同的模块相同或者不同的docket,最后可以有两种不同的展示方法 new Docket().groupName就是最右上方的下拉框 new Docket().apiInfo(new apiInfo(title(“大标题”)))就是这个页面左上角最明显的大名字 所有接口都放在一个docket下面,像这种 不同模块接口放在不同docket,像下面这种 二:图一实现方法 package com.gsa

cxywangshun的博客 1606

我的springboot学习【6】

第六天学习了

lxchen0507的博客 1796

关于项目中的一些常用配置类(持续更新)

项目中可能用到的配置文件

m0_64714024的博客 662

【docker】常用的Docker编排和调度平台

Kubernetes设计用于自动化容器部署、扩展和管理,支持跨多个主机的容器化应用部署,具备自我修复能力,能自动调度容器,保证应用的高可用性。Rancher是一个完整的容器管理平台,不仅提供容器编排功能,还包含了一系列用于部署和管理容器化应用的工具和服务。它提供了基于HTTP的API和命令行工具,便于集成到CI/CD流程中,尽管相比其他一些工具,其活跃度和社区支持可能较小。HashiCorp的Nomad是一个轻量级的调度器和编排工具,它支持多种应用程序类型,包括Docker容器。

一个写了10年bug的程序员日常笔记。 1706

【云原生Kubernetes系列】KubeSphere容器调度平台

KubeSphere 是在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。......

一起加油吧 1911

SpringBoot简易入门指南

SpringBoot 1.yaml配置 SpringBoot可以使用application.properties、application.yml(.yaml)等文件来作为配置文件 它们可以放在多个位置 1.1 配置查找 在application配置文件中,每一项配置都可以在xxxProperties.java中一一对应.如下图: Properties: 1.2 自动配置 如上图,在WebMvcProperties类中,有一个@ConfigurationProperties的注解,其中,pref

qq_43506805的博客 603

Swagger(基本信息配置,扫描接口,开关,分组,注释)

前言:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 作用: 接口的文档在线自动生成。 功能测试。 1、SpringBoot集成Swagger 导入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9

weixin_44324174的博客 1956

docker使用

docker

lemonmr的博客 457

Docker基础篇(上篇)

Docker简介 Docker是什么 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行。”Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统

new_ord的博客 284

10分钟上手Quartz容器化:从Docker到K8s的无缝部署方案

你是否还在为静态网站部署流程繁琐而头疼?本地环境配置冲突、服务器依赖缺失、多实例扩缩容困难?本文将带你通过Docker和Kubernetes实现Quartz静态网站生成器的容器化部署,全程无需复杂配置,10分钟即可完成从开发到生产的全流程搭建。读完本文,你将掌握容器化部署的核心技巧,实现网站的一键构建、高效预览和弹性伸缩。 ## Docker快速启动:零依赖预览环境 Quartz提供官方Doc...

gitblog_00477的博客 1128
上一篇: Docker 1.13.0 (2017-01-18)
下一篇: 内置容器调度引擎Newben,精灵云EcOS更新至2.1版
ghostcloud精灵云
博客等级 码龄11年 81粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值