|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述
# d7 K% c& s" g% Z/ v
6 @% R* F, T8 l随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。
2 p+ F3 L' R6 l, r: B7 m( w" H v. D6 v; N
基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。4 _$ D6 z; D3 `
二、背景及意义
: H, d/ E+ k( i0 ~
- R- {5 Y$ n o6 f+ D( H+ c(一)背景 K$ @; k: |& h1 m% n' W
t' n1 b) n) H p. H, I9 P& M' P
传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。 p! W2 ~! Z6 W
. S9 w. b8 @: m
(二)建设意义
- T6 d n4 M% k, F$ ]" L- R
" `% N2 U( ~1 g+ @/ D4 i7 K0 t, [基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。, U7 s( M8 }8 q) E8 `
; T3 H4 ?) N8 B" E% [三、项目重点解决问题及主要创新点& h3 `1 m! s$ L2 [6 ^. m
?; @6 p0 C. R' Z
(一)项目重点解决的问题- D1 p/ Z# J9 c, v2 C7 _) O4 V
# l c" B" {4 a! S. e9 p$ D7 I5 u& ?1.同一系统的各类环境差异大。
" n& P# B# e9 v! p3 _: N5 B" }, v' m* L
出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。* O% |9 y) v( |0 ^/ l0 |
# u9 h" ~9 n( n) J
2.资源利用率低,交付时间长。
, Z- q# S9 w7 Z- a; p$ i0 }2 T% D8 W a0 x9 ~; F/ S# m
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。( S7 f V! u# l" ~
% x( t. b/ l+ i. Y! m% u4 E
3.传统版本部署方式。
( d* G# l) A9 ^4 u
7 K: g4 I! ~$ P N% Y传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。5 T' c8 A1 F3 Q
3 _" K; x, s6 R3 ^; u
(二)项目主要创新点
0 a2 Q8 @7 g* @. V5 m" z" k7 c4 Q9 n. S6 P4 W( R
平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:! F* d' j2 J7 H0 \; _, j
6 R+ ?) `/ C/ R! p
1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。+ p) }! W" y4 p2 a% b e
@5 o% i7 |" O; i2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。( J n1 `+ w' [% L0 }3 V
0 P/ H3 N+ l8 i- J1 V0 M
3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。$ `5 [! L& g# V4 Y9 n
9 H- {$ _3 J5 X
4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。9 A+ |' a6 G4 \) d
4 C" S& h/ f9 L$ @2 w- h0 B; s# W5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。
7 j# V' n7 o( b3 q
: W& f/ o% ]* D7 ^+ X- U, [四、项目主要建设内容9 d5 u; ?! ^$ v: B
9 q% H7 Z3 |& N: E e* Q0 s; ~
(一)架构设计0 P6 o7 U+ v0 Q; J: L2 D b" B
d2 ~, C3 O7 q+ `6 ~9 [平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:5 Y& A* H# o& ~# |% l$ y1 x) Z
' f; U+ a# E4 t" G4 x图1 容器云平台功能架构 p; G! c& ^ g) }6 q/ M: O
& }( C3 @8 U; ]* S, u3 j(二)建设内容
; d; |! S) i3 S" f0 S: M L. Q0 r0 _2 s1 Q; P, A
平台提供多种管理功能及服务:
% D" m* p" J) | | `
* N3 T. |1 V7 `- M" E3 U% D9 c1.统一集群 X1 f- f0 w) g/ Y3 a
7 g3 U6 N$ ]8 z6 o }7 V g/ f
实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:
* F$ T. V' [9 C+ _. y+ b/ c
6 h% C" Q6 R+ S" D; v1)在多个集群之间分散工作负载,提升应用服务的可靠性;
$ `& J+ V( ?* Q: h5 W% y j
0 F1 A- `, }0 ]' Z4 Z( n2)在不同集群中,能更快速更容易地迁移应用服务;
5 g! |# W) K2 v, L4 F2 f; N2 @2 _
3)跨集群的服务发现,服务可以就近访问,以降低延迟;
# j9 Z1 |; j8 C- W7 e- }
: ~/ b4 v+ f3 Q4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。
1 w+ Q; w; s% t/ H, w* A8 l$ O2 P( [
1 {3 \! g3 a# V1 Y3 Z# ~, A2.容器服务
0 G+ \8 A0 ^: c! y
) o8 M' e$ }5 c9 [7 g. y+ A1 g支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
, `) Y* A5 k3 ?# u0 z) K# b4 g! t& A: |% d' A" G! Z
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
6 F- X2 M" W0 }$ Z8 R! q
. G1 D9 W4 h) Q3 D3 [3.交付中心
' V! g( S- M5 I! G1 p
4 R/ E0 E9 S8 }! h用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
. W- m3 [, {; q! ~. Q; O, t3 ~. Q" d% U1 ~/ r
4.中间件服务目录
! `* o9 q' b/ D2 U; C! h, b2 v2 ^( [0 Z, W
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
- D' Y% p6 e# G- o6 e) ?: u _7 T! C! Y4 I6 U1 ^
5.运维中心
" Q; f: K+ p! T' c% X: t! u: G
) [3 j' f% L0 H. M: ]涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
1 g: b5 y' y, j0 [2 O: `: @! z6 I* m8 G7 b
1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;
* O6 n/ U4 a5 Q3 C: B5 i# |, z
5 A: l0 V5 Y: k5 _$ J* ]# _7 f2)细粒度的操作审计记录,支持形成报表;
. E" |7 a# A. s+ u+ E
: Q/ ^% ~2 P. e( G$ S: |# c! B3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
; p7 d& t4 V; U1 ^- y3 L9 Q3 B
2 o( f4 p) b6 p) @$ Y1 ?: W4 _6 o: @4)提供自定义的监控面板,保证多维实时有效监控数据。9 [; w7 L! `; u: M* N
5 u* ~7 d. \1 f* ?6 @6 X4 ]6 K
五、项目效果
2 A! T# x9 b; @6 e- O. ]2 B' s. O! b+ o6 @0 a! J
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。
/ r, R h7 ]- ~3 E2 L0 e& ?6 Z. _( I; S2 x# h1 k0 X: B
六、总结与展望
. J& i' Z: z2 y; b, a ?0 q# _: V: F q7 ]
本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
& k" e6 u9 Z* {$ t9 T8 d
3 d! _( N1 y* i5 l* _0 z! E展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。' T8 m: S7 h4 Z7 x! R# P( ]
' c1 t. A/ P4 |" n& n) D+ ]
|
|