容器服务CaaS平台V技术白皮书

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第1章系统概述

1.1建设背景

随着信息技术的发展,互联网+教育的应用模式改变了人们的工作及生活模式,面向教育、企业及政府单位的企业应用逐步走向云化、互联网化,但是随着公司业务的发展,往往会出现服务器环境越来越复杂,管理依赖困难等问题。这些问题导致运维压力大,开发、测试、运维的整体工作效率大打折扣,团队竞争力下降。行业的问题积累,有时需要新技术的出现才能解决。Docker的横空出世,让人们看到了build、ship、run一体化的希望,而奕云CaaS正是希望基于docker 的容器化技术,解决用户从代码自动编译打包,到线上运行维护的全套需求.

1.2痛点分析

传统运维模式的问题:

●随着业务快速发展,服务器环境越来越复杂,各种紧急上线,技术债务,

临时版本的程序,脚本等,可能长期得不到清理,最终引发问题。

●技术平台快速发展,管理依赖是件很麻烦的事,而且影响运维和开发的沟

通。

●环境统一问题,经常导致上线失败。开发、测试、运维协作困难。

●监控体系不断重构,难以满足需求。

●规模小无需自动化,而规模大后再自动化又容易引起问题。

●十分依赖经验丰富的运维人员。

传统单体架构问题:

●加载、编译耗时长。

●代码管理负责。

●横向扩展难。

●各模块之间的耦合程度高。

针对以上问题,奕云容器管理平台设计了可以帮助您构筑企业级?DevOps 流程工具链和交付文化以及微服务架构的敏捷开发流程,助力企业实现交付能力的平滑升级。

1.3系统简介

奕云caas平台是基于容器的企业应用支撑云平台,为企业提供Devops、微服务架构、自动化运维等解决方案,通过奕云CaaS平台提供的容器服务,助力企业实现基础设施云化,应用架构现代化,开发流程敏捷化,打造行业领先的IT能力。

容器服务是基于基础设施提供的 Docker 容器引擎服务平台,覆盖了软件开发过程中的开发、测试、演练、上线等生命周期管理,保持应用系统快速搭建和各环境的一致性。

容器技术可以处理不同平台之间的差异性,提供一个标准化的交付方式,统一配置,统一环境,保证效率,能有效的实现资源限制。此外,容器能够做到快速迁移,秒级高可用。容器服务能够对应用进行按需配置,秒级弹性伸缩,大大减少开发,测试及运维人员的环境搭建和应用创建的服务时间,提高工作效率,提高基础设施资源利用率,降低硬件和软件及人力成本。

奕云CaaS采用私有云模式,实现用户私有集群的容器化管理和资源智能化分配,提供全流程标准化的主机管理、应用持续集成、镜像构建、部署管理、容器运维和多层级监控服务。

1.4建设目标

●开箱即用,定位为纯工具,与自身业务无关。

●开发自运维,使开发人员能全流程跟踪和发现应用服务的问题。

●全流程全视图,覆盖集成、部署、运维、监控等每一个产品开发运维环节,

一步到位,省心省力

●追求效率和利用率,分钟级的构建和部署,提高开发交付效率,极速的升

级回滚和扩缩容,让业务能够快速迭代和弹性伸缩。

●智能化的监控,及时了解业务和主机运行状况,发现潜在的问题。

●标准,用docker镜像和容器分别标准化业务的集成和交付环节,统一产品

开发交付的工作流程,标准化生产和测试环境,避免开发测试过程中环境不统一的问题。

第2章系统架构

上图为系统架构图,CaaS平台以google开源的K8S集群管理系统为基础来管理Iaas基础设施,在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,CaaS平台在此基础上通过整合从开发到运维的工具链,实现Docker镜像的管理、服务管理、API管理、监控告警管理、CI&CD集成管理,通过控制台单一入口组件为企业提供应用支撑平台。

第3章CI&CD流程

上图为CI&CD的整体流程示意图。

●开发人员可在应用程序和运行平台这两层进行应用程序的编码、构建、

测试和发布;

●测试人员可进行环境的快速搭建,测试环境的一致性和持续集成等工作;

●运维人员可进行从硬件、操作系统到运行时平台的安装、配置、运行监

控、升级和优化等工作。

●开发使用不同的镜像服务部署开发环境,方便本地开发环境的搭建和一

致性;

●测试通过使用镜像完成服务持续集成,简化测试环境的搭建;

●运维使用同一份镜像服务部署,保持环境的一致性,也可以制作镜像并

进行快速部署;在应用大流量的情况,能做到秒级的扩容;

开发环节:

CI 流程

Developer Gitlab CaaS-CI K8S

Docker registry Commit and push code Webhook 触发构建镜像

代码编译

通过

否控制台提示或邮件

通知是

执行测试

通过

镜像升级自动部署到测试环境

打包镜像否在registry 存储生成

的项目镜像版本 上图为开发环节开发人员从提交代码到发布到测试环境的整个过程。 测试环节:

测试环节流程跟开发环节流程一样,建立测试项目并进行CI 流程进行验收测试,以前端框架为angular 为例,采用protractor + selenium 方案。

● GITLAB 建立测试项目,编写protractor 测试脚本,模拟浏览器执行测试。 ● 提交代码。

● 执行protratcor 镜像到selenium 环境进行测试。

● 测试完毕将测试结果通过nginx 镜像发布出来。

运维环节:

● 手工将测试通过的镜像发布到生产环境中。

● 运维人员可进行从硬件、操作系统到运行时平台的安装、配置、运行监

控、升级和优化等工作。

相关文档
最新文档