|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述" X# ?% d! h( m2 S. P/ j
; v3 ?) C, ?* U) _2 G- s, ^' j' p2 W5 u随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。% r" r! O/ |) R
/ n# O& g. }% B0 ?+ q6 |
基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。
- ]( a* H; C- H- V' E二、背景及意义/ i5 e& T1 |2 S7 \
5 Z9 O. a3 M3 b) i) ?9 }7 C) H% o(一)背景
( F6 j* W8 ^8 o* N% w1 U, f) l) n L5 ~- R# K
传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。& u2 Q6 N4 i5 G: L* U: q
- z. r( W) K# @1 Y' {(二)建设意义
% _+ ^9 O% x' i/ `" n' c3 D% m: c% q
基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。
$ }+ |, k/ T( W/ D& `% W( k5 t7 c0 A9 _6 i% `: E
三、项目重点解决问题及主要创新点
9 J3 j0 n. d: o3 b2 O5 K
1 T% P" P j I: y(一)项目重点解决的问题- W T$ q/ Y5 {; H* _. Y
$ m7 z3 T2 Y% r/ [( X: `1.同一系统的各类环境差异大。
$ ?5 c; K8 C9 I) C6 y; T! _ a
; f% i( Y3 l! B. \ a4 _出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。! P/ k F, T' a, V7 L+ E
! G- Q0 e' J+ u1 C Q- U
2.资源利用率低,交付时间长。
\. x9 |7 y; n, j1 l# m; D* U! H/ x( ]- F e/ i' R, }. u$ q
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。' d. N/ d7 x% x# s) W! x# h0 R
; |% \6 @/ h8 u
3.传统版本部署方式。- P9 U) O# \3 A" x7 W6 E
' v3 l) [! h2 T
传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。. X6 S9 Y3 V$ z# ?6 `! y
1 b5 i' [% H9 X3 Z9 `" A
(二)项目主要创新点7 B( v# X0 [" }' O
. Y+ o' k+ h+ `- }1 B. A: F
平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:7 B+ L$ l# U" d, }8 ?1 I
# _* Y) v' G+ P* [1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。
7 j) M' g2 z8 ]+ G3 b+ e& a N3 g- `# Z9 }4 W/ ?
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
4 y1 C& t1 Y( x; O
& W: ^3 ~( m$ c( V9 C+ X1 G# Q- g3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。
- t; x% N2 X. [1 {9 s
+ V" q7 ~# R* E+ @0 T4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。8 Z$ J4 h) w m7 Q/ D7 b! G
. T+ x* X8 W' S3 i0 {4 {8 [
5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。
2 z s+ @1 L) U6 ~3 e9 P/ C4 Q4 v6 d, s: }4 g; U0 U
四、项目主要建设内容' K2 |6 v0 T: d. F
?* v( e+ D# p% t/ k* q
(一)架构设计
. z# t% O" y& N3 C' w4 S0 p( ` ~9 M' j9 f; x# F: s
平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:
+ O, z- o: z* C5 T3 p% i
0 A% q8 j; Q. |/ `% u: W8 {
图1 容器云平台功能架构 v0 w' {9 Y1 a$ ?# U7 r% X
& {6 X7 z9 D' {0 [
(二)建设内容7 a3 W( g2 J. d4 l
' I2 Y! g0 C9 F平台提供多种管理功能及服务:0 b9 d; z! g) g6 \& K
" z/ y6 T* |# x# Z1.统一集群9 i _4 X- a' B# c/ R
$ ?, }0 ^/ Y) ^4 c( i H
实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:' ~: Q. g1 j% j- I# B k p: B
: I3 e x( \3 H3 \: d* j1)在多个集群之间分散工作负载,提升应用服务的可靠性;
) g( U! d" e2 ~1 X! U
' `' S4 X; Q$ G' g! M; P9 d2)在不同集群中,能更快速更容易地迁移应用服务;1 O! h/ ^* t- |$ ~
5 e. f& {0 G4 ^' Y+ T3 ?6 G
3)跨集群的服务发现,服务可以就近访问,以降低延迟;
* y5 y- k" ^& Z, g: Q P
- y, B3 h% _- F, S/ K8 v7 [* c4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。2 }6 R" I' I9 r, R4 C
, n; a( L2 M9 m- W
2.容器服务9 a+ {2 G& B; p" y% A
6 I- o! U# m- a8 }
支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
) o5 N% f7 z' a s$ O; L9 F& z# \* G& w: `
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
3 `* @2 n6 y4 h( D% ^! @! E. \5 d1 G% \9 e; X; ?6 `0 K5 M x
3.交付中心
2 b4 |2 { x; N1 q2 N" X1 Z# }1 K: L1 Y
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
% R: m6 [2 V# A9 j" Z5 b, D5 X2 _ Q
4.中间件服务目录
( a6 \8 g" S1 @
6 ^5 H' a/ P1 E: p提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。. Q D/ F! r8 e7 @6 p& t1 F; Z
* J. ~: [+ W2 g# M. m5.运维中心
5 s2 i8 e( T3 O. v) L% J) k! L% ]$ b/ E w
涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
( O$ @! k" ]$ Y) O8 @
9 U* C8 c( j5 C1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;
- J+ F% K4 G" @: M7 i1 ^! u; M$ o- Y. M8 _) o0 v. A% Z0 j
2)细粒度的操作审计记录,支持形成报表;# r, n( Z' d& r! F/ _5 V X
; V* w( ~& D' [4 Y: c3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
, E; l4 q' Y. B/ W+ t: M4 x5 V: Y( E# q! F# _
4)提供自定义的监控面板,保证多维实时有效监控数据。
: r+ S3 u+ y# ^/ t5 H0 i( ~
6 X i$ \! F {1 h五、项目效果
$ l/ p6 s( f# M- i5 O- S+ N/ Z) c
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。8 o. f0 r0 V* V( X2 X8 B7 u
" X8 d5 J- m. w
六、总结与展望
! P" E' x1 _+ f, b; ]4 R" u
3 g/ I, F1 P/ ?* q2 V本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
( F" R5 z7 v+ d, ^- y3 j
6 ]7 {. n3 s1 _0 H展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。4 N) O/ A, Y7 |0 x( \. z
4 b! ~4 i9 I: K. \. N. P
|
|