写点什么

微众银行正式开源容器平台 Dockin

  • 2021-01-18
  • 本文字数:2550 字

    阅读完需:约 8 分钟

微众银行正式开源容器平台Dockin

近年来,云原生(Cloud Native)可谓是 IT 界最火的概念之一,且随着云计算普及进程的不断加深,有愈演愈烈的趋势。云原生已经不是少数几个大企业的专属,越来越多的企业正在拥抱它,享受它带来的红利。


Dockin 是微众银行开源的生产级容器平台,提供了一整套私有云容器化的落地方案。涵盖 Kubernetes 集群管理、应用管理、网络、运维工具、开放 API 等组件,用户可以自由搭配使用,定制自己的容器平台。


Dockin 着力于生产级、高可用、安全性、云原生一体化、可定制,适用于传统 IT 向云原生转型。期待大家加入一起共建,向云原生出发。



云原生下容器化的价值

足业务发展的需要。金融应用的典型特点为体量大、部署慢、难升级、难扩展,如何及时响应业务的需求、如何快速支持新业务上线是基础架构的优化方向。

 

容器作为一种新兴的虚拟化技术,跟传统的虚拟化方式相比具有众多的优势。其核心价值在于三点:


  • 敏捷性

据业界统计,使用容器技术可以实现 3~10 倍的交付效率提升,大大加速新产品迭代的效率,并降低试错成本。


  • 弹性

通过容器技术可以充分发挥云的弹性,优化计算成本。一般情况下,通过容器技术可以降低 50% 的计算成本。


  • 可移植性

容器已经成为了应用分发和交付的标准,可以应用于底层运行环境的结构。实现一次构建处处部署。

Dockin 的诞生 &微众银行私有云容器化的探索

Kubernetes 是让容器应用进入大规模工业生产环境的开源系统,也是集群调度领域的事实标准,目前已被业界广泛接受并得到了大规模的应用。

 

微众银行的生产业务大多跑在私有机房上,无法使用腾讯云、阿里云等公有云提供的容器服务。而且有完善的基础运维工具,要在我们私有云上要落地一套 Kubernetes 不是一件简单的事情,离线安装和升级、与未容器化的 VM 应用实例网络打通、稳定运营等都是非常复杂的,而且有很多潜藏的隐患如 Docker 安全漏洞、内核 BUG 等。



Dockin 实现了 Kubernetes 在微众银行私有云落地,同时收敛了 kubernetes 粗放的管理模式,定位是公司级的容器平台服务,所有功能都提供 API,供上下游管理工具和基础软件接入,在应用管理上保持了和 VM 一致的用户体现。容器化与基础设施环境相关,对整个运维体系改变很大,关乎到应用的稳定性,原生的 Kubernetes 不能满足我们的要求。容器团队研发的 Dockin,用了两年多的时间,经过一系列探索与实践现阶段现已实现应用的全面容器化,当然这个过程也遇到过很多问题,如:


  • 内网环境在线安装和升级 kubernetes 失败

  • 开发测试人员不懂 kubernetes 的 yaml 编写

  • 云原生产品的管理流程和公司内部运维系统不适配

  • kubernetes 证书过期

  • master 节点扩缩容问题

  • 内核内存暴涨导致容器 OOM Killed

  • 容器重启后 IP 变化

  • 用户在容器里执行大内存命令导致容器挂掉

  • 用户主动修改容器里系统文件导致不可预期的错误

  • 应用做日志归档导致母机 IP 过高


类似上面的问题还有很多,相信其他公司的容器团队也会深有感触,后面可以做成一个专题给大家分享。通过团队的专研,解决了很多操作系统底层适配的问题,同时通过研发一系列的 Kubernetes 之上的管理系统,解决容器应用资源管理、运维编排的问题。在实践中,容器团队将传统 IT 向容器云原生转型的坑基本都踩了一遍,最终形成了一整套完整的企业容器平台。



目前,我们生产环境容器平台已承载了超过 50% 的应用实例,其中包括核心的金融交易系统,能实现核心系统容器化在业界都是少数。Dockin 支持业务系统容器化,提高资源池弹性,提高应用交付效率,将各式各样的系统通过容器的方式进行标准化,实现统一的监控、统一的调度、自动化和智能化运维。平台所有系统基于开源产品自研,到目前为止,从应用管理、运行监控、到运维自动化都研发了对应的解决方案和系统。随着业务对平台的要求越来越高,Dockin 还将不断的迭代,也通过开源的方式让有共同兴趣的朋友一起参与,共同完善。



根据我们的实践,Dockin 解决了应用容器化的问题,优化了资源的使用效率,降低了硬件成本。同时还提升了应用的交付效率,推动了 IaaS 层的服务化,新业务上线周期更短。全量容器化后,未来 Dockin 会支持更多的云原生产品,实现智能化的调度,优化镜像和应用 SDK,向 Serverless 方向发展。

Dockin 能带来什么?


Dockin 容器平台从我们生产环境中剥离出来,经过了金融级生产环境的严格验证,是私有化部署的较好方案。现在将 Dockin 开源贡献给社区,希望为大家带来帮助,也希望得到更多的检验。



Dockin 旨在打造一站式,可拓展的容器应用云原生管理平台。在首期开源的组件中,提供 kubernetes、docker、os 版本组合建议,同时实现了 etcd、kubernetes 的高可用部署;支持容器内命令执行过滤,网络支持了固定 IP 和多网卡。


对于企业用户而言,Dockin 可以支持快速搭建生产级的 kubernetes,提供将应用从 VM 平滑迁移到容器管理系统;提供经典网络下的 IP 固定的方案和网络插件;提供更加稳定性的、安全的容器运维功能。

 

已开源组件


1、Dockin-CNI,一款支持固定 IP 的网络插件

基于 kubernetes 的 CNI 网络插件,支持固定 IP,支持多网卡。


2、Dockin-Ops,一套安全的运维编排服务

Dockin 运维管理系统是安全的运维管理服务,优化 exec 执行性能,支持命令权限管理。


3、Dockin-Installer,一套离线 Kubernetes 集群安装器

Dockin 平台安装器,快速部署 Docker、高可用 kubernetes 集群、ETCD 集群,生产级参数调优。全离线安装,不需要连外网,支持十年的证书续订、ETCD 备份恢复。


4、Dockin-RM,一款应用资源管理系统

Dockin 容器项目资源管理器,是应用定义和容器实例管理的核心模块,提供容器分配、回收、查询等功能。(具体安装流程请访问仓库地址获取 )

 

更详细的实践我们会在未来的文章中为大家带来,欢迎各位持续关注!


项目仓库


https://github.com/WeBankFinTech/Dockin


https://gitee.com/WeBankFinTech/Dockin


社区联络


项目负责人 Townchen  WeChatID:wxid_cgz


未来还有更多...


  • 静态应用管理方案

  • 镜像管理系统

  • 平台管理台

  • 高可用监控服务

  • 统一 API 网关

  • 智能调度系统

  • 通用 Operator 套件

 

写在最后


Dockin 是微众银行云生产的基础设施,我们会长期的维护更新,并希望为大家的私有云服务提供一个更稳妥的选择。


因此,诚邀关注云原生,容器开发的你一同参与到 Dockin  开源项目中来,我们欢迎任何形式的贡献,有各种建议或意见可在 GitHub/ gitee / 微信群中提 issue。同时,Dockin 团队也在扩招中,感兴趣的同学尽情来聊吧。

2021-01-18 10:372041
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 241.0 次阅读, 收获喜欢 1272 次。

关注

评论 1 条评论

发布
没有更多了
  • 搜狐云景 Container 经验谈

    搜狐PaaS公有云平台“搜狐云景”已于5月21日正式开启公测,为广大开发者提供应用开发的一站式服务。为了给开发者提供更加灵活的应用托管平台,搜狐云景平台底层使用了Container的技术,其实它在搜狐内部的私有云平台上已经使用了很长时间,在整个过程中,我们也踩过了很多的坑,积累了不少的经验。本文就云景为什么会选择LXC、基于容器的架构、在Linux kernel 2.6.32上的优化以及云景对资源的隔离和管控等进行了详细介绍。

  • Kubernetes 一键部署利器:kubeadm

    在今天的这次分享中,我重点介绍了kubeadm这个部署工具的工作原理和使用方法。

    2018-09-14

  • 中国移动一级业务支撑系统网状网 PaaS 之路

    移动业务支撑中心和网状网项目技术团队经过大量的研讨,创新的提出了APU(Application Process Unit)的概念,解决未来的系统的发展和管理瓶颈。并且通过深入的技术研究和实践探索,提出采用Kunbernet+Docker技术方案来构建网状网的PaaS平台,真正实现APU的理念的落地。截止2015年底,已经完成了电子渠道各种业务、流量统付、10085等核心业务的支撑,业务高峰达到10万笔/分钟,系统的弹性扩展能力和稳定性得到了充分的体现。

  • 云上容器服务:从 Docker 到 Kubernetes,迎接云原生浪潮

    从Docker到Kubernetes,容器生态不断地发展,云原生的技术浪潮已经袭来。

    2020-04-03

  • 时速云 CEO:相对于 IaaS 和 PaaS,未来 CaaS 将如何定位?

    容器在国内的火热程度毫不亚于国外,这从基于容器的创业公司的数量上就能看出来。而大部分容器相关的创业公司都瞄准了同一个方向:CaaS(容器即服务)。时速云就是这样的一家公司,他们基于Docker、Kubernetes、Mesos等开源技术实现了大规模容器集群的调度、部署和管理。目前他们的容器云平台上已经运行了上万个容器,并且非常稳定。为了了解时速云的创业背景以及他们的容器云平台的架构等细节,InfoQ记者采访了时速云CEO黄启功。另外,时速云CTO王磊也将在8月28日举行的CNUTCon全球容器技术大会上分享题为《时速云基于Kubernetes打造容器云平台的实践》的演讲,敬请关注。

  • 揭秘腾讯云的 PaaS 技术选型策略

    Kubernetes的容器编排也不是简单的“拿来主义”。Mesos、Swarm等分属不同阵营的容器集群管理工具,以及基于这些工具的多个容器云提供商。

  • 七牛云成为 CNCF 全球重要合作伙伴,并通过 Kubernetes 一致性认证

    七牛云正式加入 Cloud Native Computing Foundation (CNCF),成为 CNCF 共建云社区的全球重要合作伙伴。同时,七牛云企业级容器平台通过了「Kubernetes 一致性认证」,这意味着平台可以在不对服务做任何改造的情况下,兼容其他 Kubernetes 系统上的服务,实现无缝迁移。

  • Docker 简介

    2020-09-03

  • Kubernetes Operator 实践:MySQL 容器化

    2018-12-26

  • 趣店容器进化史

    趣店的容器化进程经历过三个里程碑:docker、单集群脚本化管理、多集群平台化管理。为了兼顾日常业务的需求开发,每一个里程均是由小部分人主导推动,由点及面地进行推广,并通过在小范围的试错中寻找最适合趣店业务场景的容器化方案。

    2021-01-08

  • 深入浅出 Docker(六):像谷歌一样部署你的应用

    谷歌发起的开源项目从来都是广受技术圈的关注和讨论,本文将介绍的就是最新的容器编排管理系统 Kubernetes。Kubernetes开源项目版本更新频繁,对于初次使用者来说其定义大量的技术术语并且随时会有新术语出现。在这种不稳定的技术框架之下,对使用者来说确实带来了一定的技术门槛。为了掌握Kubernetes的核心技术概念,本文尝试通过深入阅读官方文档资料并整理出核心的使用实践思路,以飧国内Kubernetes技术爱好者参考研究。

  • 微服务容器化运维:容器调度和服务编排

    今天我们要考虑的是,如何在集群中创建容器,也就是容器如何调度的问题;以及容器创建后如何运作才能对外提供服务,也就是服务如何编排的问题。

    2018-10-23

  • 华为云的 Kubernetes 实践之路

    华为与Kubernetes的渊源颇深,早在Kubernetes刚开源的时候就以社区创始成员及白金会员的身份加入其中。目前拥有1个Steering Committee席位和5个Maintainer席位。本文分享了华为云的Kubernetes实践之路。

  • Mesos 在去哪儿网的实践之路

    年初的时候机票的同事向我们反馈,希望可以提供Docker环境帮助他们快速构建开发环境,加速功能的迭代。[开头一段换到这里]正好我们OpsDev团队也在为容器寻找试点,双方一拍即合,立即开始了前期的调研工作。经过近1年来的使用和运维,在Docker和Mesos上踩了不少的坑,多亏了社区的贡献者们,积累了许多经验。

  • 如何打通企业级容器云的技术环节

    作为国内第一家基于kubernetes的CaaS云平台及解决方案提供商,时速云发布了企业级容器云产品及解决方案。针对企业如何将容器技术以高质量、低成本、易维护的方式落地到企业的生产环境中来,以及如何高效的进行大规模容器的管理、自动化的DevOps、容器的安全、微服务实施等主要环节,时速云推出了四大企业级核心云产品,涵盖了企业级容器云平台、企业级镜像仓库、持续集成和持续交付(CI/CD)、镜像及安全服务中心。同时发布了DevOps解决方案,云端开发、测试解决方案和微服务架构等解决方案。

  • 使用 Telepresence 在本地构建和测试 Kubernetes 应用程序

    开发可以部署在容器调度平台上的微服务向工程师提出了新的挑战,尤其是在本地构建和测试有若干依赖项的服务。本文将介绍工具Telepresence,开发人员可以借助它在本地构建和测试服务,而该服务透明地集成了它所依赖的那些运行在远程集群上的服务。

  • 从 Docker 运维看知乎容器平台的优雅整合

    传统的部署是安装、配置和运行;而Docker的出现革命性地改变了传统模式,部署被简化为复制和运行两个步骤。因此,越来越多企业使用Docker提高分布式应用的构建与交付;但是与此同时,Docker带来了很多不可避免的挑战,其中运维需要克服的挑战尤为传统的部署是安装、配置和运行;而Docker的出现革命性地改变了传统模式,部署被简化为复制和运行两个步骤。因此,越来越多企业使用Docker提高分布式应用的构建与交付;但是与此同时,Docker带来了很多不可避免的挑战,其中运维需要克服的挑战尤为突出。知乎曾经在QCon上与大家首次分享Docker架构和经验,也即将在全球容器大会详细讲述容器平台的实战历程。本次InfoQ就在Docker整合入原有架构过程中,如何实现的Docker运维对知乎两位专家进行了采访。

  • 经验:Serverless 架构应该如何选型?

    这节课讲解如何让本地的Knative应用打破云服务商的锁定,部署上云。

    2020-05-08

  • 剑指 Kubernetes 揭秘腾讯云的 PaaS 技术选型策略

    在 16年底,Kubernetes并未大热时,腾讯云为何偏偏在诸多主流的编排引擎当中选择 Kubernetes?腾讯云 Kubernetes架构和资源调度原理是什么样的?在用户托管服务中,又为何采用 Kubernetes来托管用户 Kubernetes集群的 Master?作为国内最大基于 Kubernetes的容器服务提供商,腾讯云在 Kubernetes上还有哪些应用实践…… 本文将带着这些疑问,为你一一揭开腾讯云基于 Kubernetes的 PaaS平台神秘面纱。

  • vivo 云原生容器探索和落地实践

    技术服务于业务,企业应基于自身现状,寻找合适的解决方案!

发现更多内容

java版gRPC实战之四:客户端流

程序员欣宸

gRPC grpc双向流

面试突击35:如何判断线程池已经执行完所有任务了?

王磊

Java java面试

TDengine 助力国产芯片打造“梦芯解算”,监测地质灾害 24 小时无间断

TDengine

数据库 tdengine 物联网

求职有 Pulsar | 中国联通、StreamNative 多个热招岗位

Apache Pulsar

开源 云原生 代码 Apache Pulsar 岗位招聘

《2022网络威胁形势研究报告》重磅发布 | 附下载

青藤云安全

100行代码实现HarmonyOS“画图”应用,eTS开发走起!

HarmonyOS开发者

HarmonyOS ETS ArKUI 3.0

生产环境频繁内存溢出,原来就是因为这个“String类”

华为云开发者联盟

jdk JVM 内存 字符串 String类

java版gRPC实战之三:服务端流

程序员欣宸

gRPC

《LeetCode刷题报告》题解内容 Ⅲ

謓泽

3月月更

大数据自动管理,24 小时服务无间断,StarRocks 如何做到?

StarRocks

大数据 数据分析 StarRocks

如何判断线程池已经执行完所有任务了?

CRMEB

2.7万只!当前及未来仍将是量化交易的黄金期

非凸科技

rust 招聘 机器学习算法 算法交易

亚马逊云科技创新大会 | 云基础架构

亚马逊云科技 (Amazon Web Services)

架构

java版gRPC实战之五:双向流

程序员欣宸

gRPC grpc双向流

java版gRPC实战之六:客户端动态获取服务端地址

程序员欣宸

gRPC grpc双向流

java版gRPC实战之七:基于eureka的注册发现

程序员欣宸

gRPC 注册中心 eureak

JavaScript数组,看这篇就ok了!

坚果

3月月更

基于服务网格的分布式 ESB, 实现应用无关的传统 ESB 转型升级

BoCloud博云

微服务 ESB

Linux下TCP网络编程-创建服务器与客户端

DS小龙哥

3月月更

java培训-JVM内存分配面试题分享

@零度

JVM JAVA开发

一个服务器轻松存储上亿数据,TDengine 在北京智能建筑边缘存储的应用

TDengine

数据库 tdengine 物联网

云效持续交付流水线,免费还好用!

阿里云云效

云计算 阿里云 持续集成 持续交付 持续交付流水线

web前端培训-MySQL的索引下推解析

@零度

MySQL 前端开发

TiDB 在携程 | 实时标签处理平台优化实践

PingCAP

微众银行正式开源容器平台Dockin_开源_微众开源技术团队_InfoQ精选文章