|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述
7 J& f% v o# y2 h1 n
1 ~+ l, n4 K2 L5 y) a+ D随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。- y+ r( p) G5 z* M8 R; H$ T
9 s7 d# }. e2 s0 x基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。
+ D; ~9 h! o7 X7 W5 `$ w二、背景及意义4 B+ v+ R6 W3 e, t# d z3 \
$ F9 ~& H2 a* \1 r1 G& P; M0 [2 z: [
(一)背景1 V& c* {- |' X3 o9 }, O5 X
6 ~' r+ G+ o& K: u% |' s3 |传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。: Q% K( ~: M1 M. a: P( S
3 ~5 N6 X% R6 t, B(二)建设意义
$ s8 U* K0 a2 g9 j# o; e' G' X8 s
4 K q: U1 @6 |+ e/ ^基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。
o# F2 t7 }9 a5 _0 |, e e' [% L3 I9 b' H/ f* n$ j" m
三、项目重点解决问题及主要创新点
& _. r; \3 u1 H) \/ U5 T3 x
H. O9 I! O2 q9 R' o(一)项目重点解决的问题7 s# J( ?" k" o) M, o! F; v7 z, y3 b
5 _6 r' r, w% {) ~1.同一系统的各类环境差异大。/ [. j+ b6 q) G' Y) D' ]
2 _% y+ L" u M. h8 j: o, t/ r9 N
出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
p( v$ I" m/ w( V
' V8 k( H' _* ~1 y/ ^2.资源利用率低,交付时间长。
, z7 X: C) G- [6 z3 q0 q! e5 D$ _9 ^, W
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。
K6 U% o; r+ ]. O$ n* \1 J1 {
& ~8 e! h+ I; u% |7 G4 _: }3.传统版本部署方式。
; N5 |5 j+ u. R4 {, V4 `! h4 l# u
) e9 |$ T t* g+ w) A传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。
! q1 o4 Z7 q! t' s% R( T+ h
1 k* G, ` ^ ^- t. m; F(二)项目主要创新点) E% E5 u% A E: R! M; v: i4 z G
8 v1 S5 h! @, T+ ^平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:
2 e+ P5 I# d, D+ c! E e5 t! W* @, V! g
1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。
8 B+ _: z1 w* N4 C: t0 r9 N1 S* l. x& E/ L
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
! E. Q4 U* c2 D
7 G2 Z" j8 m* J$ I8 b3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。
4 D% S8 w5 p8 v0 W: h4 z* s9 {; j' a' P: G' }0 f
4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。8 H: o) J3 w9 E2 U3 h
+ {/ D5 G& K% S. U: s5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。6 X% p; } ]; i8 q5 U
5 {3 |) W# g$ Z
四、项目主要建设内容
7 K) H' x; q6 c+ r1 @. a {, Y
9 w- l5 H9 f, F* ~1 {(一)架构设计
4 X' e* \5 B2 U% y" y S4 c
: c& J1 \4 f/ |' X平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:+ C0 |& j: p# B6 Z7 c
4 J$ V0 K8 {! c& S
图1 容器云平台功能架构9 a# @: o6 s5 e! b
7 w$ H- h; t" a: `, @* T+ g
(二)建设内容& r/ l6 ~/ K! J2 R' }+ f. V" v2 k% s5 N
' u2 z7 \4 S& v( v& J& a, F平台提供多种管理功能及服务:
& M8 ^0 F0 H7 i; y9 @; X7 m: l5 [) p( |
1.统一集群' a& X! \9 |+ O W/ o. Y& L4 I5 _
$ u, E+ {4 @, |( o+ A实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:7 b8 ]5 ]* V4 g& z% X
: k7 P5 s- W9 h! K% B; x1)在多个集群之间分散工作负载,提升应用服务的可靠性;
5 ~7 b& Y' v' m& z' b6 q" ~9 G+ D2 r' e' f8 j
2)在不同集群中,能更快速更容易地迁移应用服务;
, P' d' v# F5 g, w' g% B! M$ n# z, F+ S- F
3)跨集群的服务发现,服务可以就近访问,以降低延迟;; S* q, @' |) s4 `
8 p7 B/ C6 |( W5 X5 Y. b
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。- l. a* C6 L9 L( s, F& K
! J1 T' }* z* Z5 b0 H: V8 J5 J2.容器服务! j% @/ m! O$ Y, ~
9 T7 s$ }! F+ ]
支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
0 p2 n5 `& t( c
( d0 J! @9 L$ G; _' I0 \9 `支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
* z, m4 E- a6 n
, [+ x# |: O) I% N3.交付中心
% \* K0 n& i* b3 |* H V& x8 H! w8 h9 w2 s9 t; Z
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
9 q+ w- B6 k5 P7 n) S+ a) X0 l3 q
% A( t0 i4 Y; `! E$ j9 J! h" s4.中间件服务目录' ]& u& f Z& X
, \( z0 ~( u+ Q7 j, F6 o
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
& ^; c# q9 R3 Q# J
& ]% Z g# _1 d: h# v- C5.运维中心
- t+ [ ?. j! _( _, Q$ ]1 i3 o1 y" C4 S
涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
4 O5 W) N; c4 C) }* Y2 M* G
3 D* Q0 m) R. i" ]5 I1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;9 n" k/ q" j* m
! r8 e8 F% | A+ c2)细粒度的操作审计记录,支持形成报表;& n- A8 L |" w1 t9 M: \
7 ^6 z$ I" f2 y8 S
3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
0 k* M- A% I1 t# B/ n" Z: j/ R# f* i5 @2 D X% ?+ s% h- v
4)提供自定义的监控面板,保证多维实时有效监控数据。$ R; \5 H! S2 y: i1 i6 t* W
/ `# c+ |0 l2 z
五、项目效果
+ E. e0 S" G7 x4 e: n- K; w2 o3 P4 B3 I% m4 n+ Z
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。2 s: o" ?4 }" Y: S2 H/ p
; y0 |: u2 e0 U% ~1 L2 K六、总结与展望( P5 Y4 N6 ^7 N, R2 I$ ^# |6 S- p3 c
$ ^- D4 E g5 |" T本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
& f$ b. F) U% v; K& {7 v( z( I4 Q) X2 _0 H1 [
展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。
* s6 t1 x% d* i1 z8 w2 q& E
, V7 x( b5 a; W- o) L: A4 a |
|