NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

微众银行正式开源容器平台 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:372292
用户头像
陈思 InfoQ编辑

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

关注

评论 1 条评论

发布
没有更多了
发现更多内容

瓴羊Quick BI的存在,让企业管理不再复杂繁琐

对不起该用户已成仙‖

SVN客户端:SmartSVN Mac许可证激活版

魔仙苹果mac堡

Java8 Stream中如何对集合数据进行快速匹配和赋值

Java你猿哥

Java ssm java8 Java工程师

六款好用的苹果软件,提升Mac使用效率!

魔仙苹果mac堡

Mac软件 苹果软件下载

ACK Net Exporter 与 sysAK 出击:一次深水区的网络疑难问题排查经历

阿里巴巴云原生

阿里云 云原生 网络 容器w

程序员必修课:阿里性能优化全解终开源!设计+代码+JVM三飞

Java你猿哥

Java 性能优化 JVM 面经 jvm优化

屡获殊荣丨Dubbo 开源 12 周年年度总结与规划

阿里巴巴云原生

阿里云 开源 云原生 dubbo

你还在为分布式系统数据一致性而烦恼吗,来来来!!!

Java你猿哥

Java 分布式 ssm 分布式架构

【新资讯】行云管家大动作-V7.0即将闪亮登场!

行云管家

网络安全 行云管家

进阶面试皆宜!阿里强推Java程序员进阶笔记,差距不止一点点

Java你猿哥

Java 面试 面经 八股文 Java八股文

数仓如何进行表级控制analyze

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

CoordConv:给你的卷积加上坐标

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

Astute Graphics for Mac(全系列ai插件合集)支持ai 2022/2023

魔仙苹果mac堡

Astute Graphics AI插件

面试造飞机?GitHub顶级“java面试手册2023”(面试通过率95%)

Java你猿哥

Java 面试 面经 Java工程师 春招

大数据上云存算分离演进思考与实践

阿里技术

大数据 存算分离

【网易云商】记一次实遇的 MySQL--index merge 死锁历程

网易云信

MySQL 数据库 数据库死锁

不同于Oracle:MySQL的insert会阻塞update

GreatSQL

MySQL oracle greatsql greatsql社区

Go 语言基础语法

局域网IP扫描软件:IP Scanner Pro 激活版

真大的脸盆

Mac Mac 软件 局域网管理 IP扫描工具

ShareSDK常见问题

MobTech袤博科技

合约一键跟单带单软件开发交易平台定制(源码搭建)

开发v-hkkf5566

降本增效:12种常见接口优化方案总结

程序员小毕

Java 程序员 性能优化 后端 架构师

公司刚来的阿里p8,看完我构建的分布式框架,甩给我一份文档

三十而立

Java 分布式 java面试

焱融 YRCloudFile 在海量小文件场景训练加速优化策略

焱融科技

文件存储 容器存储 分布式文件存储 高性能存储 全闪存储

三维动画视觉软件Autodesk Maya 2023软件介绍及安装教程

魔仙苹果mac堡

maya Autodesk Maya 安装教程

photoshop 2023【存储为窗口显示空白、黑屏】解决方法

魔仙苹果mac堡

ps ps 2023储存黑屏

RADIUS认证是什么意思?有什么用?

行云管家

radius 认证

ChatGPT软件技术栈解密

NineData

数据库 GitHub 技术架构 openai ChatGPT

精准水位在流批一体数据仓库的探索和实践

百度Geek说

大数据 数据仓库 实时计算 流批一体 企业号 3 月 PK 榜

Spring源码解析:自定义标签解析

Java你猿哥

Java spring Spring Boot ssm

刷爆LeetCode!字节技术官亲码算法面试进阶神技太香了

Java你猿哥

Java 数据结构 算法 面经 左程云

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