DevOps系列之 基于K8s构建DevOps平台

DevOps发展背景和重要阶段

CI/CD是什么?
CI(Continuous integration,中文意思是持续集成)   是一种软件开发实战。持续集成强
调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们
可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对 CI 加以理解。
CD(Continuous Delivery, 中文意思持续交付)  是在持续集成的基础上,将集成后的代
码部署到更贴近真实运行环境 ( 类生产环境 ) 中。比如,我们完成单元测试后,可以把
代码部署到连接数据库的 Staging 环境中做更多的测试。如果代码没有问题,可以继续
手动部署到生产环境。

DevOps是CICD思想的延伸,CICD是DevOps的基础核心,如果没有CICD自动化的工具和流程,DevOps是没有意义的。

发展背景

2009年举办了第一届DevOpsDays大会,DevOps名字被首次提出。到2010年,DevOps的概念越来越火,出了What is DevOps的文章,讲解了DevOps的概念,方法论及配套的工具。简单来说,研发工程师需要和运维工程师深度的合作,同时通过一系列工具保证研发更加顺畅,从而更容易的接触生产环境。到2013年,Docker出现了,工程师可以第一次到软件生产环境中定义,通过Docker image完成单机软件的交付和分发。此时DevOps开始慢慢落地。2015年开始,DevOps相关的工具越来越多,资源利用率出现了一些问题,CNCF的成立使得DevOps的实践往Kubernetes上走。

DevOps系列之 基于K8s构建DevOps平台_第1张图片

一个云原生下的DevOps流水线的典型流程。首先是代码的开发,代码托管到Github,再接入单元测试的工具Jenkins,此时基本研发已完成。再接着到镜像的构建,涉及到配置、编排等。云原生中可以用HELM打包应用。打包好的应用部署到各个环境中。

下面是自己项目中的DevOps主要核心流程。

DevOps系列之 基于K8s构建DevOps平台_第2张图片

你可能感兴趣的:(Java技术架构师,DevOps,devops,kubernetes,运维)