|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述7 g; c# }6 G* _! y! `* G
# U+ e- Y" S; V- e8 G* ]& p3 U随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。
) w2 z/ u7 o$ s( P5 y. i; Z, q3 ]6 N( W' s4 W% ^: S
基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。
" M8 ]; M4 |, b! }/ F$ ]二、背景及意义
0 _9 J! U" n1 V8 C0 V% P" S4 D
3 m) Y/ b# t3 M2 u8 g; R" ^7 Q(一)背景7 H3 H$ u/ X; W1 W
- a5 `/ P9 K* ]5 @
传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。/ i0 _# g: W& @) K1 f5 |+ z* [9 m2 H
. l* g2 V( u8 M7 c
(二)建设意义
. P) ?2 M7 B& x8 ?" F3 Q, V0 [5 b" w; R. _8 x0 `
基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。3 N9 i! K+ u( ]* K0 ?
' _9 C/ M* f5 T+ q t ^% E
三、项目重点解决问题及主要创新点
# f" @5 U( G$ j* C) L( h7 n( d
* Z7 k0 N8 D+ N(一)项目重点解决的问题
# S; M) P' ]- D
2 \4 e* c) x' m: W1 Z7 e w1.同一系统的各类环境差异大。, O+ A% W$ h' J: q+ ?! o
3 F# E. f( i7 ]: }3 O出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。
: P/ t6 X" j0 v5 w% r- \' O
+ k* A; e P0 R0 v1 s) J$ m; a- |2.资源利用率低,交付时间长。6 [8 h! T. x4 V. H, @" g
n* ^" V3 o# i9 \3 N: t基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。
, {: A$ V9 [# d* l. `" z7 o& D3 I4 d: N) m' p
3.传统版本部署方式。
: w `/ k7 z' i2 ^4 Z8 S1 J
2 ~: Z6 \- h7 g9 L+ z. a- @传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。: E% T5 B" i& \* S0 ]- q0 o
4 Y$ S6 @+ A5 l% a6 ~+ C4 {8 U& F8 e
(二)项目主要创新点
1 l3 P K3 [ M/ W. A# P/ y( ?4 u8 u+ k
0 d' e, M7 z$ p( V平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:
% [9 ~2 g* [$ ?0 S4 _! w9 {* @0 j1 R+ I5 E; \
1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。# g2 ?& D9 U7 V! b$ T' R
S- _0 y4 b! r% F
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。
Q* A1 D8 {0 I- `; P2 y1 P
; ~/ s" ?0 J* A: O& z$ `, U5 ~3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。
; Q- h$ s5 }7 x) m4 R
% [3 d- I* C% f8 u& r+ j4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。- p, A0 g V! z! R) l: m! @
6 _9 h/ e2 ^: v* w
5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。
, ~3 }- B; c7 {. g7 x( X- `2 \+ T1 |3 a; ^5 ^/ P
四、项目主要建设内容
! d* C5 c7 M4 ^+ ^ c, z. J, m; ^" H F4 ]# w) M4 N- q
(一)架构设计
7 I# O6 S0 V8 h+ g2 u: x/ R
& I/ `' t( E8 L& [. D- f平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:
0 V2 G! r2 F s9 f/ e3 Z' T
4 K$ J2 Q+ n, t w. Y
图1 容器云平台功能架构
6 w. M Z9 f/ w5 Q' A1 A
7 }, Y& g% R. }5 B; L- j(二)建设内容5 q; r; f, e$ [, v3 F3 f
\* ^% n% z( [
平台提供多种管理功能及服务:! V1 J& Q5 D& |
3 A; \1 @- C* }
1.统一集群
6 m! V) R0 q% I
& \1 v8 p2 K: T( @7 b实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:. z8 f5 r1 S* F2 i* h+ i! S) E
! K3 p- s, c# `5 g& R, h; W [6 Q
1)在多个集群之间分散工作负载,提升应用服务的可靠性;% \; N+ u1 `9 a% F& h) y9 q
3 d; X! B, R, `/ J/ v( ?2)在不同集群中,能更快速更容易地迁移应用服务;
6 r. A3 |0 s& S
% @6 _6 V* [2 O$ Q2 {- n& Z3)跨集群的服务发现,服务可以就近访问,以降低延迟;
9 D% J; H" X3 S+ g/ B. G6 Z% ~0 f! T
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。
! w& U) Y) G& d/ i# v- z+ X4 M1 z# G! G; R5 V/ M0 K' V) ]- |* l/ F0 Q l
2.容器服务
. Q3 X. X3 a! b( P5 P- c" L, [
& \, g4 ~0 g$ T" v5 O1 ^; v支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
& p* i2 E* I6 G) P1 D( K) B1 C- c) `& y8 h) y3 K
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。+ A- H3 T" n, K k
6 Z- B2 f1 w2 |
3.交付中心$ b, P5 l, p1 ]7 T- u: @
; `+ w- {0 E6 o/ X
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
! J$ `; r* [" W; E R3 o
: |) j5 B8 _$ u# U4.中间件服务目录' S2 Z8 m2 y7 Y7 l
/ S! J+ t0 B9 a2 W- B
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。! o% r: @/ ]9 i9 N' [5 {
( k m/ m" j# H
5.运维中心
a8 [! n, {. F t
" z1 e9 @1 g# U H+ O涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:
/ w% l( R6 b3 }* X3 x8 b& b8 n J3 I" M L9 V& b
1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;7 E" {3 V8 t) L) J5 D/ h: D; n
: s) u: j; s6 N% J) z4 F. Q+ d
2)细粒度的操作审计记录,支持形成报表;, t9 @' z1 } `6 U- c4 z9 `
0 t" t1 K. e7 d4 f, w3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;
' u( A& \/ F* }$ U
2 _# x& T9 `# Z( N4 ~ ~/ P4)提供自定义的监控面板,保证多维实时有效监控数据。2 A1 U2 t2 I: p# K/ a) p
: i& {, t U! R, j五、项目效果6 @+ m2 M' U4 R6 G- K0 C
1 W+ V/ K: N& E% _. k
平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。
- v1 J* o/ R4 f) d7 c" r& x# D: J- I+ g$ j% w! \& @+ p1 v
六、总结与展望
: M f: @' K e- ?
4 W" g8 n* m! P6 n本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。' w% V' u! }& G0 Q1 S
9 X7 T6 o" J& m% G& x9 n& W9 y展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。
3 \# h$ k3 ]1 T; T: }1 ?, Z. u2 i; ]- F- | w- Z/ ]& U
|
|