|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述- \' F( m+ F, Q" z( I
0 E) p' j. W6 z I# x: y
随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。# { ?, w% r6 ~& P8 i7 u+ W3 D! N
' G9 ^, t7 g" H9 |1 l" S2 r/ Y+ [! ~4 m基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。
5 c! f' Z7 S. \" `; ~二、背景及意义1 b- M& y. ]+ |2 E) P" D, e- C
* t1 f3 u7 K2 Q9 p: R(一)背景- X. K, M [- S5 c, C' Y/ x3 j6 o; L
# U1 ^2 J: k, |+ B \3 k; e+ ^& w- g传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。/ \3 ?" _5 E5 V7 n e1 D
& {, Z T! i6 e: M% p# b(二)建设意义
; n* ` b, M1 R0 g5 f
2 O) U9 ^$ e& {) Z基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。
- C# Z7 n/ A% w% O* j! f' \0 q% x Y. g5 N9 w
三、项目重点解决问题及主要创新点
) k+ \) }+ o6 }' e$ E! Z
* `5 p8 Z1 @) q( J$ V(一)项目重点解决的问题8 Z" @ l t! d/ m! i# \
+ P: ]7 P% v- w7 g+ F
1.同一系统的各类环境差异大。
; Z% \$ u8 N+ ?" c" V/ ?. W2 Q3 q3 N, ^1 J" ?6 F
出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
3 n0 J* }- ~5 G _7 O8 R8 g3 T; c5 [4 q0 o& B- C
2.资源利用率低,交付时间长。
+ y, e$ H! D6 C& h: o1 W* B0 i: x O1 P
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。- f& N% r, U( ^, b0 W" @: O! O W
5 r% y8 f9 k4 S* W8 T* j3.传统版本部署方式。
$ s X" a; T& w- A5 a: T: [0 b
' g: o$ K5 U+ k1 F3 `! Q/ L& V. l传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。8 U3 i+ I; A2 [* L5 `
' B: K8 N# o1 |! F(二)项目主要创新点
! `" e- u9 q. u% D0 _2 Q2 d* X
0 Y# V5 [: U$ m/ r" H平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:4 T- ]; V; H$ F4 L, ]. L) ~
! M, I6 u! G6 `8 d- i1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。6 H9 N" _/ T9 G0 s! ?& |
' f% W6 I' K( Z6 \" o; b
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
* J& S$ F' I' }3 U/ [2 |7 S/ ?( s1 R* r7 ^, U& \/ {( i2 o
3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。
1 t& `2 H2 @6 f b0 w. f& `5 I* N9 @% C
4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。
0 h2 y9 _& Z( J9 {1 u% r
: D! h8 C5 I, v2 ~5 i5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。( {: @! M R; t* w0 H1 C1 ^$ ?6 ~
3 A1 J O5 L3 m, \: j四、项目主要建设内容
& q- P( I1 J$ E1 Y3 f+ g3 C0 |+ o- y4 t8 S8 [( W4 P. N
(一)架构设计3 U, z8 G0 f2 f( L
" f- j9 m# N* i j平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:
; `& w* @$ E4 g) J9 Z
9 B# }. ?( ?) J, u, O4 H- @& T
图1 容器云平台功能架构- m8 n6 ?- X& u* ^7 O0 r
7 y: \; z5 a+ _+ r, w' J- ^! r
(二)建设内容# N$ I- r2 j2 Y3 o- h- }
5 ]8 J; Y0 U9 X' P3 y平台提供多种管理功能及服务:7 A9 d1 l8 f: Y, V3 J6 B6 X
W2 t/ t7 ?5 f. {
1.统一集群
; Z' ^( z& W8 E8 Y- F3 z
! C4 ], R: p0 \实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:
1 W, |- N! A$ _- G9 G; i1 c0 V# ]1 _5 z$ c: w2 [
1)在多个集群之间分散工作负载,提升应用服务的可靠性;' F% C5 W# [+ O' ^
3 z( N" l1 [" r# {! T& H
2)在不同集群中,能更快速更容易地迁移应用服务;5 ?7 r, h9 c) n' }; R) Z- q' j3 \
+ i+ q2 l" m+ r3)跨集群的服务发现,服务可以就近访问,以降低延迟;/ I* Q8 ~+ A* Q! e( W
% N/ u# E' s' Y
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。
( W: N- Z& S, M" k
5 ~! d5 i: l' _$ V1 H5 I5 j2.容器服务
# m2 a/ Q2 O; _- F) C1 O y. k- o R# K
支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。0 ]) A, q+ M8 P; T. C! G
2 d0 A+ u3 a( K6 k支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
" |1 |# @: B! m# X+ G1 D: v0 L% N
# o" u' m* Z/ F; |0 q( X8 d3.交付中心& Q3 Y* `1 b8 R% `; k; e% @, ?
& r2 N0 V/ F7 q! e/ O3 P: |用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
9 Q3 r; w# f; W9 i" V. D# o
; s: g; }% M+ A- F! H3 s. G! H4 s. v4.中间件服务目录( A0 v6 ^$ N) e Z# F2 K
$ {5 H% p6 N0 J# i% f$ v
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
/ K, j- Y* b" ?/ _8 y8 o; q1 ]* o1 d: ]/ B1 g j; L
5.运维中心 ?. }5 E1 A% t) u
8 ~! v" T, K s: |9 B; O) e
涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
% d \" Z0 w# U
% h* c4 P5 t6 h9 y( n$ ^1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;1 ~/ x) M/ b( E' T! @
0 s+ D) q" P' I0 R, r. o$ l
2)细粒度的操作审计记录,支持形成报表;9 K* ~( F& o( L: ^- z0 T7 C5 v
}* |2 d1 D4 h5 b# F. O# q
3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
9 w; S: a% i. ]$ W, V' f+ n6 ] O; S$ s* x% b+ k- |
4)提供自定义的监控面板,保证多维实时有效监控数据。
" d6 y; p: N$ V6 W1 U6 l. h% L I
7 [3 a0 v) Y7 U( q- s五、项目效果
. Y4 @" h% ] v8 ? ~6 S, p" Y' H) ]8 `
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。
2 R1 ?- B, I; d7 ]
9 U9 R. k: P8 B9 [0 x六、总结与展望0 L. \7 N1 G9 L3 `! A, _+ A, S' ?
4 c j6 V+ W2 K% Y
本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
- E8 W8 `: T! a3 g/ F+ s' J6 x
% T+ Q8 b. w/ v2 B" n! Z展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。7 s- X$ [: [! x+ Z5 j$ w
1 s1 F0 j4 _& C2 g! g& D |
|