Docker和Kubernetes如何让DevOps更具效力
很多管理者都在思考如何能让Dev和Ops能够在没有任何“误解”的情况下共同努力缩短time-to-market,也就是DevOps。
下面我们将谈一谈,Docker和Kubernetes如何帮助DevOps发挥更大效力。
传统的DevOps
我们会使用像Jenkins这样的CI工具启动代码的构建过程,该工具也在构建期间运行功能测试。如果测试成功通过,我们将更改合并到发布分支中。
运维会使用一些工具为应用程序部署生产准备脚本,并最终将更改投入生产环境(更新版本)。
传统DevOps的问题
第一个问题是运维和开发者使用不同的工具。例如,大多数开发人员不一定知道如何使用脚本工具,而准备发布的任务落在运维身上,但运维通常又不了解应用如何工作。第二个问题是开发环境通常手动更新而没有自动化。结果导致开发环境非常不稳定,一个开发人员所做的更改可能会中断另一个开发者的更改,而解决这样的冲突问题通常需要花费很多时间,time-to-market变长也就不足为奇了。
第三个问题是开发环境可能与staging环境、生产环境有很大不同。这可能会导致开发人员准备的发行版可能无法在暂存环境中正常工作,或即使测试在暂存环境中成功通过,生产中也可能会出现一些问题,生产中的回滚过程也并非易事。
第四个问题是编写脚本非常耗时,而且容易出错。
利用Docker优化DevOps
Docker之于DevOps的主要优点是开发人员和运维都使用相同的工具——Docker。开发人员在开发阶段,在本地计算机上从Dockerfiles创建Docker镜像并在开发环境中运行。运维使用相同的Docker镜像,使用Docker对staging和生产环境进行更新。需要注意的是,在更新到软件的新版本时,我们不是要对Docker容器进行patch,换句话说软件的新版本采用一个新的Docker映像和Docker容器的新副本,而不是对旧的Docker容器进行修补。
基于以上,我们可以创建不可变的开发、staging和生产环境。
使用这种方法有几个好处:首先,对所有更改都有很高的控制权,因为使用不可变的Docker镜像和容器进行更改,我们您可以随时回滚到以前的版本;与脚本工具相比,开发、staging和生产环境变得更加相似;使用Docker,我们可以保证如果某个功能在开发环境中有效,它也可以在staging和生产中使用,这也就是我们常说的一致性。
那么,Docker和Kubernetes如何让DevOps变得更具效力
- 使用Docker创建包含多个相互连接组件的应用拓扑的过程变得更容易理解
- 由于内置的service和ingress概念,负载均衡配置的过程大大简化
- 由于Kubernetes的Deployments、StatefulSets、ReplicaSets等功能特性,滚动更新或是蓝绿部署的过程变得非常简单
- 更多强大的CI/CD工具可用
- Kubernetes通过Service Mesh工具提供开箱即用的多云部署场景
关于Rainbond
> Rainbond(云帮)是"以应用为中心”的开源PaaS, 深度整合基于Kubernetes的容器管理、ServiceMesh微服务架构最佳实践、多类型CI/CD应用构建与交付、多数据中心资源管理等技术, 为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系, 满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。
本文转自DockOne-Docker和Kubernetes如何让DevOps更具效力

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kubernetes何时才会消于无形却又无处不在
一项技术成熟的标志不仅仅在于它有多流行,还在于它有多不起眼并且易于使用。比如,没有人会去思考墙上的插座,除非你恰好需要给你的手机充电但又一个都找不到,这只是我们日常生活中所用到的大量技术的一个例子而已。 自从Google受到它内部集群和容器管理系统Borg以及Omega的启发,在四年多之前率先开源了Kubernetes容器控制器之后,我们就一直在打赌它会在公有云和私有云的容器管理上一统天下。具有讽刺意味的是,当初负责Google基础架构管理的人并不是很情愿将这样的知识产权公开,但是开源信徒们正确地预测到,将Kubernetes贡献给世界之后,Google将会从开源社区得到巨大的信誉,并且有利于创造一个和Google类似的容器化私有云环境,也可能将Goolge的模式传播给竞争对手的云产品,同时也能帮助其扩张自身的云平台。 可以肯定地说,掌舵Kubernetes以及相关监控工具Prometheus的云原生计算基金会(CNCF),已经完成了Google及其成员所安排的工作,就是将Kubernetes转变成一个由横跨各种平台、供应商和客户的生态系统所支撑的工具,这也是为什么几个月前它在CNCF...
- 下一篇
Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构。这是一篇写给程序员的 Docker 和 Kubernetes 教程,目的是让熟悉技术的读者在尽可能短的时间内对 Docker 和 Kubernetes 有基本的了解,并通过实际部署、升级、回滚一个服务体验容器化生产环境的原理和好处。本文假设读者都是开发者,并熟悉 Mac/Linux 环境,所以就不介绍基础的技术概念了。命令行环境以 Mac 示例,在 Linux 下只要根据自己使用的发行版和包管理工具做调整即可。 Docker 速成 首先快速地介绍一下 Docker:作为示例,我们在本地启动 Docker 的守护进程,并在一个容器里运行简单的 HTTP 服务。先完成安装: $ brew cask install docker 上面的命令会从 Homebrew 安装 Docker for Mac,它包含 Docker 的后台进程和命令行工具。Docker 的后台进程以一个 Mac App 的形式安装在 /Application...
相关文章
文章评论
共有0条评论来说两句吧...