|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、概述5 H5 w) G$ e9 z. Q) p! W5 a' I
) o e9 j' x C随着蓬勃发展,业务规模的不断扩张、功能不断增多,用于支撑业务运行的系统和基础设施也日趋庞杂,企业需要采购越来越多的物理服务器,投入越来越多的人员保证系统的正常运行,同时系统的故障率也快速攀升,运行效率却呈下降趋势,这些都成为要面对的挑战和困难。! z9 v' a$ D9 J. ]9 P
6 r1 |8 W, l* \4 l基于云原生的容器技术,在很大程度上可以解决上述问题。容器云平台通过建成以Kubernetes为中心、容器技术为基础的高度自动化、智能伸缩的应用部署及运行环境的容器云管理平台,为业务系统可提供容器管理、自动化持续集成与交付、弹性伸缩、微服务治理、负载均衡管理、自动化运维、大规模集群调度等能力。
$ b: H) H Y! h: r, M二、背景及意义
2 e, T1 u. C) ? C! W
/ x( ^! ^/ M5 q1 a7 D# K' C(一)背景
' o, v- y3 t5 ?3 Y7 t0 V$ N
+ q- L/ M# M% P6 X1 R传统架构的系统服务在性能、效率方面存在瓶颈,无法快速满足业务需要和市场响应。在资源集约化管理方面,需要通过云计算服务实现资源的动态池化管理、应用集成复用,以达成降本增效,减少重复建设、资源浪费的问题。, Y. i* s. g: m: K* n3 [+ R- j
5 f: s& T' z p(二)建设意义, a/ Y6 O* s+ K7 W! K- M
7 n( Z! r% s' n4 E! M基于云原生的容器云平台实现对应用、服务、镜像、集群的统一管理,从而实现测试、开发和运维的一体化流程统一,做到云计算容器层和基础设施层联动上下层之间深度集成,方便资源的调度做到运维开发一体化,上层开发环境自动化、模块化、容器化,交付的应用更加轻量级,提高交付速度和质量,对服务进行细粒度监控和日志告警等;另一方面在平台上能够更加灵活快捷地迭代更新,满足快速高效的需求。% S9 ~; |; `, _7 @5 t
6 A% ?7 H# D( G' ]8 ^ P( r- a
三、项目重点解决问题及主要创新点
) E" U K$ J. `. ~% Y! B
5 g! a& p" [: j1 A* e R; X(一)项目重点解决的问题
5 K8 D% k4 V2 [
0 `& k8 G+ [, b/ W- z4 J# |3 ~ P3 O1.同一系统的各类环境差异大。
. ]1 V6 x" @1 m8 l
) @& {, n, y! v4 M" o- p$ W出于历史原因,应用配置和环境经常会耦合在一起,版本迭代发布过程中,很难保证开发、测试、生产环境始终是保持一致的,随着版本迭代次数的累加,环境问题会越来越多,因环境差异对业务的影响也会成线性增长。$ i+ K; q4 `8 g; ^* k' n* l/ w5 m
9 r5 e+ K# L' s- a5 P- I0 j8 ]2.资源利用率低,交付时间长。9 e8 c! p2 L& K, e
% w2 J$ ?) c$ r" a9 }+ O5 \& m; d) K
基于虚拟机、物理机部署的应用,环境搭建周期较长,在开发、测试过程中会存在大量的资源空闲。业务复杂性带来了应用的复杂性,而应用与资源是成正比的。
6 N; ~9 P# h3 A5 s, A$ f/ B3 [$ n
3.传统版本部署方式。
/ c% H% H, `2 |2 g3 C6 q$ x" }
% y* v: z% n& P* o传统的Web应用版本升级时多数都采用整体部署方式,存在应用在升级版本时需先停止服务,遇到问题版本回退、紧急修复耗时较长,影响业务作业、用户体验。
. D2 t \* j! M- C7 p$ x. G( u. ?0 v$ n) b* M; }* M2 Z' |* k* x
(二)项目主要创新点
4 m8 n. x3 P1 O! r1 k+ n7 Z3 Y* l' K3 A5 O0 I& o
平台以业务场景作为出发点,结合云原生发展趋势及行业现状,从理念、设计、管理三方面实现了以下创新:
0 X7 Y' k G4 m/ D! r- R$ M0 Y. Q) {2 ?1 }
1.基于云原生的建设体系。以基础设施服务(IaaS)、平台服务(PaaS)、软件服务(Saas)为模型,以自动化部署、自动化运维、自动化交付为目标,建设一个有持续交付能力、高度自动化的研发运维一体化平台。
4 X; V+ ]( w0 r. B/ e' H0 d! v6 g% w0 G
2.智能统一的运维管理。平台可为相关业务系统支撑服务提供一键部署、服务扩展、实例伸缩、服务发现、负载均衡等能力。提供了监控告警、日志查询、资源报表等运维管理模块。6 k0 h- D% }1 w. D- `
/ E3 Y! z1 o2 X1 i5 A
3.丰富的DevOps模块。根据业务场景自主开发;兼容了多种代码管理工具,涵盖了编译、构建、部署、质量门禁、滚动升级、自动回滚、SQL脚本发布、服务健康状态检查、消息通知、定时触发等一系列功能,既提升了代码质量、版本发布效率,也降低了运营成本。7 ~" K5 V/ g: _! ~
2 \8 O* C5 D2 ?" L# h4.安全合规,审计审核。生产与测试环境物理隔离、网络隔离,生产环境编译强管控;审计方面,平台已实现了操作日志全覆盖,审计日志中可记录用户名、IP地址、修改时间、修改内容等信息,高危操作待指定人员、系统管理员审核后才会生效,进一步提高了平台的安全性。
k! H$ W! q0 f4 J* L$ S2 @2 g% ^. i t. A5 H" E/ N. m
5.易扩展、松耦合。平台所有组件都采用容器化方式部署,容器的多实例配合健康检查、弹性伸缩机制,使得平台层已具备了高可用、自愈特性;各个组件之间完全解耦,便于为应用提供更有效和灵活的服务。
% u5 p6 e% g, p' S4 L2 |
2 I) t6 t" m) q0 p- `6 {8 |四、项目主要建设内容' V/ R, N+ h1 c* F7 T
; X" q8 w: B% E6 K1 o9 c' e# ~
(一)架构设计8 x5 R8 ~# [2 J1 f5 n6 ~
+ F; `% y/ O2 l8 O; Y$ k- q平台包括六大模块:联邦集群、容器服务、交付中心、中间件服务目录、DevOps、运维中心,每个模块包括对应的主要功能点,系统的整体功能架构如下图:$ y: e/ j" b+ T( z0 I9 ?
; C8 z0 x' ?$ ]+ ?
图1 容器云平台功能架构5 a k& K' ]2 m$ T# p! N) ~$ H! A1 i3 F
% _( x% [# \' u* ^2 }8 C3 K(二)建设内容
$ t) p* Y2 |( `7 b) D; ?+ u( _+ {4 h/ j1 F3 U" {5 R7 P; Z
平台提供多种管理功能及服务:7 [0 h3 X. N* t) k0 \) ?: l
, d; i4 n8 l- }( b1.统一集群
0 P! w: [; p7 Q2 m% @- |# e( |/ O3 I0 f8 y0 e4 m4 J7 j* j- D
实现了单一集群统一对多个Kubernetes 集群的管理。支持同时部署应用到多个集群(联邦集群)。特性如下:
" E+ b2 I& p; s& M8 n: F# w& f
: U9 J# z B- S& d0 W3 e1)在多个集群之间分散工作负载,提升应用服务的可靠性;
! V5 g( Y# k9 K8 y/ {; M T1 k7 T9 q6 N+ D+ q& @$ d% Y
2)在不同集群中,能更快速更容易地迁移应用服务;, B5 O; u5 V2 f/ K) {' X
1 H) i9 Y7 g F' {; s; v
3)跨集群的服务发现,服务可以就近访问,以降低延迟;
! e# q7 F8 r& v' ^: t, s4 d! n& W3 j) s: v* b9 E ]( t1 `" x) V
4)实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署。
5 P' t0 X! C0 m8 U+ D) K, {0 [" Q. E) P% A' z
2.容器服务* X7 n; s& u* q
5 K7 o2 B8 P) A5 c# s( E支持类型多样的容器调度设置,如:通过设置主机亲和性可将容器调度到指定的主机上运行;支持Flannel、Calico等多种主流的容器网络模式;支持对接不同类型的存储资源。
9 C6 C& ?2 ~6 B" V0 n: k" L5 p3 M5 ]) s% U
支持以应用为中心的容器应用管理模式,让应用部署和底层服务器资源解耦,业务方只需关心应用本身,无需考虑底层资源,大大加快了应用部署上线的速度。秒级的弹性伸缩,用户可以设置每个服务的弹性策略,根据资源负载变化,自动调整实例数量,最大限度保障业务连续性,更好地服务敏捷开发、微服务化等场景。
) q: J/ S6 I; C. K& |4 B
/ J7 }( b/ Q* D) ?/ w, O3.交付中心
0 M6 G# ~1 q) S8 J/ N) b. G5 v6 d; v) U
用于管理、维护镜像版本,其特点是支持保存文件、镜像,也支持与第三方仓库对接。支持镜像模版创建,通过保存的应用模版可视化创建应用,大大地降低了模板的配置门槛。
& h" O' E# E6 K) o) g6 \! ]- w
- h m# n! U" e4 W0 f+ d6 @ E4.中间件服务目录! _ }# }, r% y/ j
6 X0 D+ v6 t, t
提供了数据库、中间件、缓存和流程管理等应用,支持再制定集群资源池,一键部署启动对应的应用,通过部署好的服务目录内应用,提供对应的操作管理,支持启、停、删除等操作。
+ S" H* |2 ~$ N& C# L
+ ^. V. X1 ~% F; a- H5.运维中心7 S: N. ~& M6 A' _8 q5 c
8 E' L5 r0 q6 G+ U涵盖了资源监控、操作审计、日志管理、告警配置等功能,具备以下特性:/ [: V' [4 q( b6 b# X
$ z) L8 G( j# v3 o% }
1)对计算、存储、网络实时监控与告警,帮助项目组合理使用基础资源;) \2 K+ I3 x. h7 V* c7 i: N5 T( k
( w j) t. i" e$ }2 x* [2)细粒度的操作审计记录,支持形成报表;
: T6 S! J3 @7 j# `
$ J# Z n' b# M8 ]8 {3)支持多维度的日志管理,标准日志与采集日志统一管控,并支持日志清理功能;. ~' U5 O- c. B4 n+ y; `
' D5 Z1 K: e; n3 ~' z
4)提供自定义的监控面板,保证多维实时有效监控数据。- K, ]+ I# }$ ~3 ?/ n9 R/ C
0 s4 P) o, h" A
五、项目效果' N% c- r% v; [# N4 q5 S- B& ^, T
1 a6 L% I, r. ^5 e) s平台已经建设公有云、私有云等多个集群,接入集团、财险、寿险、养老险、健养等子公司下的22个核心业务系统,部署了近2000个服务,近3000个实例。提高了业务运营效率,提升了服务化IT治理能力,满足业务对于IT系统高可用、高性能、灵活扩展的需要,支持大家保险业务的发展,确保IT应用的部署架构以可持续发展的模式演进。
2 r9 L; |2 L9 D- P* |7 g4 p$ ]8 w* }* K0 w5 z
六、总结与展望
7 K' R8 r& T9 j. e
* l, S N1 ^8 @( I0 U4 H: y1 |本项目解决了企业在技术架构转型、部署架构转型、运维管理转型中遇到的痛点问题。部署在平台上的系统在监控、告警、运维、版本发布等方面都得到了一体化保证。在新浪潮技术发展下,拥抱变化、跟随变化,不仅仅是技术上的转变,更多的是职能的转型,传统的单一技术工程师往全栈技术工程师转变,只懂流程的运维岗已经被自动化、敏捷、技术岗位所替代。
' A7 @8 C( ^% X3 c/ Y
5 \/ c5 H2 g9 q展望未来,容器云平台将在大家保险集团的公有云、私有云、混合云的建设中发挥更大作用,为整个集团的深刻转型提供强大基石。 e' [, ^& j% B/ ^0 P
4 `4 P" h6 |7 |0 Q
|
|