|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述8 B. {& e. j' p- V& T5 }& @
2 @2 @3 d5 o6 ^' \0 @
随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。
0 p/ Y3 t' k) |: |1 O! P
! [! e! C( N' {! a$ o u6 [基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。 d7 u# H/ U. ^5 n) k8 Y7 d! o
二、背景及意义# a# @8 e: G# O H$ Y$ K
% e+ X" l( }/ |- k. l3 X(一)背景
0 e4 }; Z6 Q& t+ [3 S4 r- ?: Y
[& F6 z$ t6 s! @8 N" f2 d, @ i$ W传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。 ?* c) W- @- v* S% x3 i$ m
. ?7 v6 x! a' t' m(二)建设意义: t4 B3 S* o+ Y+ u
" `. Z3 F7 b" t! \8 R基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。
* W, ^1 R$ N+ [/ d: H
3 R# p# s0 \1 B% p三、项目重点解决问题及主要创新点
4 M" x2 @, s0 i% J E# U- _
+ T3 H! j" u" e. {! X(一)项目重点解决的问题( F' @1 v9 J% J9 k+ f
3 q) {8 h4 `" H/ j
1.同一系统的各类环境差异大。& w/ x1 E4 R% o7 [$ O
9 T( x _" C- e' p1 R2 M出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
9 e. J4 O; d4 p0 f0 J% q% i! j' M
' J0 m4 V( M3 V4 U2.资源利用率低,交付时间长。
: L2 r& W" r8 N2 ? G( q f, ^3 z( K/ T/ k1 X0 l
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。. \1 r Q) Y. H! _9 z6 J# g
7 R% g& _* O8 t0 v
3.传统版本部署方式。# V9 r1 V6 Y$ O) d7 V6 H, W
5 C$ }6 ~: D7 i3 N) g# J传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。
0 M- ?) `$ g7 O5 Q
# x/ S& {# g$ |0 e; j+ c# @(二)项目主要创新点# T U! f6 s. I4 a( x7 E& Q
! ~ Q- J' O5 k1 p% l平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:
* c* ?* i a/ t; {/ Q% X2 J( D1 b- |4 ]* p6 v$ l: U
1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。5 C3 T. V- y. E. K) p: Z3 V
6 Z0 x9 o$ O& O& {# C" [
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
3 H0 k6 h1 ?* ?% q5 C5 y1 X- E8 o7 j8 B" s1 j0 l$ n1 c' I1 g/ F
3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。
' C8 T# N# u% r2 y, D6 X5 N; Y
% Q' L4 I. t# L4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。
) \ q( Y% |. j9 a% Z* ?- T2 u5 u: V5 {
5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。
( {8 s+ h( n9 m( \9 S
( {. ]+ E' X# w1 `0 A四、项目主要建设内容
8 h* N6 L$ l% W2 w4 y3 w5 U7 |+ y: [& P7 e: R" _8 t8 U3 C% X
(一)架构设计8 E/ _* n1 n0 ^5 A7 o( e7 _% j
h6 t& \( }1 j平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:9 }" R+ E" y" K1 F+ N0 F" n. N
1 m/ \) B& q! Q8 D图1 容器云平台功能架构6 D6 z, o" _- Y6 i. p% U
" \9 V/ Y. l# }# N; h
(二)建设内容4 L4 ]+ {. p/ e6 L8 \
; H- O _9 J+ o+ W& L; x
平台提供多种管理功能及服务:/ t8 B. W: |1 a! E2 P! |0 w
, R6 L4 J# p" T, a% m! W7 u
1.统一集群1 z h3 V' ~* q) n$ D/ c. C
7 ?, y0 f) o5 F
实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:
$ C# k* r+ e' q1 y( i8 b) n4 R& f' U
1)在多个集群之间分散工作负载,提升应用服务的可靠性;
7 b8 H* l8 }' o. V0 `* S% _# `8 K/ {9 r0 w/ @3 v# S
2)在不同集群中,能更快速更容易地迁移应用服务;
& P0 }% J2 G7 { B+ U6 Q3 d4 t0 s7 }' c8 D$ U
3)跨集群的服务发现,服务可以就近访问,以降低延迟;
}+ T2 M: d5 y2 Y6 L* i$ W6 A+ n5 I( M7 ]- R7 V: [8 f8 U) I
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。
3 u9 ^+ s. ~, S' v6 k
: ?9 @" o' ^, @6 s& |2.容器服务
# w# y7 P3 [; J+ ^2 l
`7 [% ~7 Q7 j7 N' w0 E支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。5 D; k& [$ W1 h, {. V
% \5 i- `! J7 T+ O
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
; z t! Y/ A. p5 E. b8 F9 E' B
3.交付中心# W2 m! o7 n' f* ?. @
! E/ j4 g: _. |8 ^/ m2 b! ]7 v% p8 j
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
1 c" h) Z0 y# I2 H+ {( _
% R5 Y# u8 J$ H; ~& [- c8 R4.中间件服务目录( X2 E1 p) s, K* Y/ N
& {( }; z, l& d: ^: M# ^4 Z提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。* _! H/ p1 ~$ {1 i) Y
' S( t/ | H7 Y# H* C9 j
5.运维中心# O/ z. J9 U$ y+ H, w( m. G1 K2 N" |
2 o0 G# `" `( {" N/ t' W0 q涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
" z* z) B& F2 t- n: e9 y9 @+ I) E. j& ` k% q7 ?/ o( q# q8 K
1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;
! Y& @ F$ F2 _+ J6 {% f. m/ D! n7 u( v" |/ Q. [0 V, Q, B
2)细粒度的操作审计记录,支持形成报表;/ N" R! s1 T3 ~ P
3 o; O- e+ N3 ?$ D# I9 ^9 o
3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
) N( t; _, [1 U1 a( F% M
* r' N: G- S: Z; Z: y4)提供自定义的监控面板,保证多维实时有效监控数据。2 A' R; P0 J6 A$ f A6 L
7 r, n x! O" i' x3 ~
五、项目效果" p4 q9 P7 y# p& ]
1 z: z! o4 _$ B, A$ T8 U% D8 n
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。* C6 g) ?' P- ^" H* E' V
! `: E a% m# F! r3 @, C& D& b六、总结与展望
0 X$ L3 W/ e) R3 S" E2 C$ I/ @( h1 H
本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
6 h1 ~: @7 P2 H8 V# M
$ r+ m* ]" B& H* b: s5 M展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。2 B5 V- X" f! H! ~9 l
9 J6 H, N9 J. l V! ^ ?+ u- u; ] |
|