|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述 c) R1 F* ^! \
" \; U% l5 x2 V" Q6 ~; n4 M随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。& X$ ~$ [: s& X& O# w1 J/ p
+ i4 Y2 L, b6 F* } H" c
基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。6 A) k7 Q3 h- m
二、背景及意义, [/ P; j' d1 l- K) G
?' F! ]6 ]( x, B
(一)背景7 p. _, n; g; a) c# c
) d, ^, u$ N0 p* q- D' c传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。
+ U( p; [" T: m1 m) g7 ~- A/ G$ g' S0 M, S" u1 o- U: A+ P9 I$ }+ `; J7 g
(二)建设意义2 |/ a! _7 O6 _; N
, o4 e# \ c8 A! x5 h3 J' z
基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。
6 p- _' K0 ?; B `, W
; d# ~4 b' v, D% _* q2 I/ r三、项目重点解决问题及主要创新点
+ q7 J) Q9 I( p" x/ [9 N4 G, c8 {+ S+ R6 C5 R; d
(一)项目重点解决的问题
5 }* |3 V) U6 I! i& g6 r
. l* k! r/ N. H4 x7 u1.同一系统的各类环境差异大。
0 o, A, B0 ^- }4 X1 D" T8 g" t* G+ d4 n' E, ]$ F
出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
7 S* e4 }2 Y5 `2 g/ u' e& A
5 p8 Y+ M1 d& D2.资源利用率低,交付时间长。
2 g% ^2 {# }8 m# Q. q0 B# D
# m% w/ m2 P5 d7 e2 ^* E8 S; P基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。* f. m/ V! n R5 [4 d# R
# b& B" f; `2 J# B
3.传统版本部署方式。
$ U8 C# B% J0 Z" e0 P0 G3 m+ s5 D" L3 `/ Q! G
传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。/ \! }% B, f8 g {2 L
9 j! ]1 R8 _( k( W+ y6 \1 H
(二)项目主要创新点
3 A; N' y, e" A# H0 S/ V
' X8 O( f+ @+ G( {, r$ w平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:
* b( F+ K8 e7 Y
9 v# a3 a- j* A* h6 B: P1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。! Y( S, Q9 q$ [* v0 i0 s: G; c& _' z+ @
! y0 ?! W- b6 b' ]% \6 R! e& ^- C T
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。7 r# I- R% K' x% n1 S& E
# \: w' N7 {& \$ \* [
3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。; Q& z3 n8 A I+ b# s
1 q; Z- O! n0 h3 O X. S' _9 v1 w4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。& t8 D! }# E' ^- A/ Z0 m% z/ T/ E
* b8 M. j# A# d6 F" X
5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。/ N6 {. _ E! ]# b# l% [
1 E8 d1 Q4 ?( \1 H四、项目主要建设内容 D/ o- x9 R: o9 J/ O
; C/ J/ i7 l' w" @- z
(一)架构设计* E j& t" N" n( ~8 B2 c9 Q# }
) O/ R( @: @% z* w v9 q平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:3 C' e* I B7 Y' ^- X+ v9 }6 u
% L1 L$ @' t9 @; F图1 容器云平台功能架构
: t: g0 t& }4 n( @9 C3 p" y6 c; A
2 s% y! l6 N7 Y. A0 V(二)建设内容
1 G& ^0 H8 U% x
7 T2 c* ^0 ]2 P* n8 A( f a3 z平台提供多种管理功能及服务:% V: g" F6 D" _0 M4 _4 u1 z+ N
% Z' Q+ F8 c) j4 c2 H0 T6 x
1.统一集群
}+ h% Z& E4 E( t4 C* }; r
% }3 g5 m! a! s实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:
; N- F6 E3 d( F& m( j+ Z9 u+ _
D4 B$ Z& I) w% r0 r4 \1 z1)在多个集群之间分散工作负载,提升应用服务的可靠性;
" q' r# ~1 [8 G/ K* |. r# {% r1 H' Y: A X1 U8 S
2)在不同集群中,能更快速更容易地迁移应用服务;
" o9 L, ]$ `8 L6 P1 r4 R& t* b+ n9 p9 I5 ~3 G0 e% S" K1 R
3)跨集群的服务发现,服务可以就近访问,以降低延迟;+ U( B0 L% l3 T: Z
' R3 Z% Z1 B1 c( V3 x
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。3 {# I6 M+ s' F6 ?! G& S0 T
4 B9 M. `, {6 C- \0 V1 S3 V5 f9 r
2.容器服务/ v! y0 r7 [1 L- S3 ]7 J' T& f
7 [* n4 F# [1 L/ Q
支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
, t! H9 g7 Q: L; L) t+ e3 F9 |8 l$ a/ j0 b4 g1 E) I; h) g K3 _( ]: {9 K7 E0 M
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
+ Z6 P: T; l; I! C6 V) f; ]: T* S; @
3.交付中心2 q; h6 n( N! n1 \% M8 a" P
: r; t, ?+ a" s' A/ m
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
& v% F7 q- h. r# x" k5 B* \) Q, d# s' Z3 P. f% {
4.中间件服务目录
2 t8 R3 ~9 w& C# a" n: y* x( `% `$ s+ ? z2 ~
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
/ ?' W3 q( [6 L+ }) P
( E9 |9 b0 C1 A1 j& a1 {; ?( k* K5.运维中心
7 j# K7 a, z2 o$ T5 @; L* H$ s. X$ D# _, I! P" z
涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
& V. V W9 V W: |8 z$ b! L2 K4 {6 B8 W
6 f4 |! @ C% b% n1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;* p7 d. \+ s9 W v( o
9 o" t, _, | S7 i( c6 x/ j2)细粒度的操作审计记录,支持形成报表;0 S/ i8 e A) Q- c; a+ s4 W$ N/ x
# T C1 d. H( e7 d3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
$ e% O* S4 ]$ d
9 T* {5 ~0 W5 m7 v( \4)提供自定义的监控面板,保证多维实时有效监控数据。1 \: H/ [) A( B5 Q0 y
& z( R4 Z+ r6 e. {
五、项目效果
' I1 t$ {8 D% [9 N2 c5 O8 p# U S' y3 v# f; G8 L
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。) ?* l/ p& x. C1 q- t. T! I7 O
" R |5 T6 j, g' f
六、总结与展望
: J( _- T& ?9 S0 B, z3 Z4 @2 q( F" t8 c* M, s3 J' U) x
本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。" H7 u6 S0 @: l% Z; C
( B' p: u' q* h: S9 @展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。0 \9 l$ o9 e1 U" W
1 s& v9 Z5 D9 `+ H8 ^- Y
|
|