IT资讯 微众银行开源私有云容器平台 Dockin

layne · 2021-01-21 11:00:06 · 热度: 33

近日,微众银行开源了生产级私有云容器平台项目 Dockin。

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

微众银行开源私有云容器平台 Dockin

云原生下容器化的价值

在传统的 IT 流程、软件架构和运维模式里,资源的申请流程很长,交付很慢,已经无法满足业务发展的需要。金融应用的典型特点为体量大、部署慢、难升级、难扩展,如何及时响应业务的需求、如何快速支持新业务上线是基础架构的优化方向。

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

敏捷性

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

弹性

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

可移植性

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

 

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

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

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

微众银行开源私有云容器平台 Dockin

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

  • 内网环境在线安装和升级 kubernetes 失败
  • 开发测试人员不懂 kubernetes 的 yaml 编写
  • 云原生产品的管理流程和公司内部运维系统不适配
  • kubernetes 证书过期
  • master 节点扩缩容问题
  • 内核内存暴涨导致容器 OOM Killed
  • 容器重启后 IP 变化
  • 用户在容器里执行大内存命令导致容器挂掉
  • 用户主动修改容器里系统文件导致不可预期的错误
  • 应用做日志归档导致母机 IO 过高

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

微众银行开源私有云容器平台 Dockin

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

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

Dockin 能为开发者带来什么?

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

微众银行开源私有云容器平台 Dockin

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

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

已开源组件:

一款支持固定IP的网络插件(Dockin-CNI)

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

 

一套安全的运维编排服务(Dockin-Ops)

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

 

一套离线Kubernetes集群安装器(Dockin-Installer)

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

 

一款应用资源管理系统(Dockin-RM)

Dockin 容器项目资源管理器,是应用定义和容器实例管理的核心模块,提供容器分配、回收、查询等功能。

 

Dockin 的安装流程详见:

https://github.com/WeBankFinTech/Dockin-Installer

GitHub 项目仓库

https://github.com/WeBankFinTech/Dockin

Gitee 项目仓库

https://gitee.com/WeBank/Dockin

未来还有更多

  • 静态应用管理方案
  • 镜像管理系统
  • 平台管理台
  • 高可用监控服务
  • 统一API网关
  • 智能调度系统
  • 通用Operator套件

写在最后

Dockin 是微众银行云生产的基础设施,项目团队会长期维护更新,并希望为大家的私有云服务提供一个更稳妥的选择。因此,诚邀关注云原生、容器技术的开发者一同参与到 Dockin 开源项目中来,欢迎任何形式的贡献,有各种建议或意见可在 GitHub/ gitee / 微信群中提 issue。

微众银行开源私有云容器平台 Dockin

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册