|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述% _4 [8 Q! j) M& r0 h2 j! ^2 S
0 |4 L8 {% Z$ c, m% } w4 T随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。
( B' @) [2 G& S3 F# G8 Y H j5 _0 O8 K2 W7 Q' }: h
基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。8 o* s ^( ]5 e2 \% ~& m9 u) a% A
二、背景及意义
; Q9 o# A. E( v9 o! X% ]4 ]; k$ I! T, @. \, h% _5 p& J D
(一)背景
1 A5 i' d( ]* ~- m( d& ^( U! P& ]
$ f8 a9 h4 K6 A' J& D* J3 C传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。
% I- |5 g! m( j+ L0 z- J, R. J4 T% d1 m a
(二)建设意义
' a6 e8 l! c3 M7 g5 u# d0 F/ o! f5 f1 ^& d
基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。* R1 L& ^+ |6 v8 \! {) Y
, @9 q/ G* Z. ~9 u- ]/ D
三、项目重点解决问题及主要创新点
% T, A$ h6 [" d1 x8 z4 J& a
$ R+ N( J2 ? c# |: b/ s/ t1 V4 G(一)项目重点解决的问题$ D9 J. Z4 p( u5 J+ U
% q, }" ~ N- I7 u u0 L; C: j5 G$ i1.同一系统的各类环境差异大。
0 |' G" |8 w: k- t$ u2 c% p5 w% X2 C2 C9 `- @
出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
: c+ o/ V% i' s- f. Y; m) j; w/ Z" x+ K, i w! C' c' O
2.资源利用率低,交付时间长。- H- ?, r* Y# N
; W* s: g# Z* t) `% |' P1 [基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。, J( a' H; a+ j
8 A5 G& e/ a( e; N& F3.传统版本部署方式。% Q& I# N, g b
! y* t% G" [( J- F% c传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。; i; P" E% O( e7 _! u& _% T: E0 j( q
+ e6 _% q, T/ |8 V- |
(二)项目主要创新点
+ C! _7 w6 N6 F6 a: ^+ X/ R% [6 P# w1 ]6 p* {: g
平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:# ^2 C& N% i% s' q# ?. ?; a* z
! d$ t/ b+ S( l" F) Q0 M1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。% O4 a6 \6 ^" n8 E; h4 {0 @
* ?7 g" Y! k& _6 P2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
1 q/ ^5 B. f; E8 U4 o
; v A% K* I8 e6 _! z7 x- ~3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。! h6 }/ s7 {0 h# @; ~
: I) e. n9 { E
4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。
7 }/ o* h2 x* E/ V
0 A9 ~" n; K/ y3 @4 T; p9 ]4 g5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。. Z G3 p9 z0 ~
0 r: @) H) n/ L+ f" M( W1 _# o
四、项目主要建设内容
5 ?/ f' k1 T/ ]3 |& x- M4 l& u
B0 v* Q+ S0 e1 u6 R(一)架构设计- Z ^" L% m; N
! i! R6 ^7 J% z X1 W' }
平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图: ?/ m1 `$ i9 ~2 i5 j! U
. b& H7 \& V. N2 `2 Y图1 容器云平台功能架构6 ]* A9 R7 t9 f" D6 U' v" w
* s) y# Z* F6 x/ C; J9 ~(二)建设内容
4 p4 j; v' m# b2 u# H/ R; t7 \, b& l+ A0 V) f: k# ~
平台提供多种管理功能及服务:7 V9 s4 R4 C' ]/ [' n
$ I0 a$ U6 U c" i2 g1 [1.统一集群
0 |: A0 c% j* @& i$ [7 s8 c! K
$ x6 S% O+ R" A' o实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:8 Y+ B% u- D' p% m; \
5 u$ b7 H( Z8 T0 b1)在多个集群之间分散工作负载,提升应用服务的可靠性;
8 d8 ~+ \" ^9 C- |5 D) b
# J7 V8 `, y& I2 F8 k `! p6 V2)在不同集群中,能更快速更容易地迁移应用服务;6 x. `6 r: d/ u
, V& I4 |, k8 `9 p/ {( `" h8 v3)跨集群的服务发现,服务可以就近访问,以降低延迟;
% r; r! ^* X' v6 r7 [* P( P$ J
2 P. d! R$ p! Q' V4 T1 A: }4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。4 [! H W5 s& B
; E5 p9 d# ~* O$ a1 A: u
2.容器服务
4 @) }: f8 F0 P% v5 @& T- j
7 _3 }8 O. d- E" r) [0 m$ h) Z; d支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。" z. G+ V4 `- U7 `7 f- q
, b, T: A. P' [$ H支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
" [7 y0 Q5 t' M* Q; D* m1 v4 }! ^3 _# ]+ T+ s- t9 D: L# X
3.交付中心! T7 o# u+ W: o5 S, v; e
H# m- t- n, l# T4 J' X; r1 X, n- F
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
4 P+ \# x* |# L1 E, c% O4 @: N* o3 Z& }
4.中间件服务目录8 A5 U; H/ _1 M# t; O
6 P& F! l2 y5 H% l5 q' D
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
5 F9 Y$ r, p& R8 j3 J0 i
/ ^: C0 v& ~+ }$ g6 f# J5.运维中心
* R% Q" h+ n+ _: {5 v4 ^ \: H, ?( K4 {* \0 k
涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:( F+ `& R: i+ C" p$ U8 p
6 D: t: K9 E; {( X6 }% K+ ^0 H6 v
1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;+ ]5 w' R0 f( I3 z$ q6 _
" S" ~9 Q1 u. C2)细粒度的操作审计记录,支持形成报表;" H0 \' X* K5 L* n
5 b5 t6 p; Q K u# p
3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
2 k, b& V0 S4 J$ O2 S& O8 M
) x6 L! V- |: i7 o4)提供自定义的监控面板,保证多维实时有效监控数据。2 H5 z+ w9 N9 c* R
\1 L/ D* x% W. X6 R
五、项目效果! W q$ G# U9 e8 w$ M' o4 x6 @
: j, O$ F' G1 g4 E9 }8 v8 Z8 f' G
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。, ^; e, i" M0 @ {% Z& D- D
8 I+ t' |* C1 p ?- G4 i* ?, T
六、总结与展望
1 h- g! M5 H4 R/ U* S3 @% N& d# C5 J- F; @; O; u% V( Q! W
本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
6 Y/ S7 v3 o1 t8 ^' i+ B8 v. G5 d1 L, J! q P) l* @
展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。! |' m8 g/ Z7 T. t
5 C: D9 o3 A- M& K# W |
|