Docker和Kubernetes如何让DevOps更具效力
Docker和Kubernetes如何让DevOps更具效力
缩短time-to-makrt对于任何一家企业都至关重要,这直接决定了客户满意度、市场竞争力乃至盈利能力。但在部署应用时,大多数企业内的IT团队都或多或少会遇到Dev和Ops之间的问题,这两个部门围绕着同一个应用工作,但工作方式却截然不同。
很多管理者都在思考如何能让Dev和Ops能够在没有任何“误解”的情况下共同努力缩短time-to-market,也就是DevOps。
下面我们将谈一谈,Docker和Kubernetes如何帮助DevOps发挥更大效力。
传统的DevOps
在传统的DevOps方法中,开发人员编写代码并将其提交给Git存储库,然后检查它在本地和开发环境中的工作方式。
我们会使用像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应用构建与交付、多数据中心资源管理等技术, 为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系, 满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。
转载原文:http://dockone.io/article/8301
Docker和Kubernetes如何让DevOps更具效力相关推荐
- 基于Docker和Kubernetes的企业级DevOps实践训练营
基于Docker和Kubernetes的企业级DevOps实践训练营 课程准备 离线镜像包 百度:https://pan.baidu.com/s/1N1AYGCYftYGn6L0QPMWIMw 提取码 ...
- Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事
本文讲的是Docker.Kubernetes.Apache Mesos 之争 | 一个与传说不同的故事[编者的话]有无数的文章.讨论和社交网络上的交流在比较 Docker.Kubernetes 和 M ...
- 为什么是容器,Docker和Kubernetes?
如果你是一名IT行业的从业者,还没有听说过以上3个词的任何一个,抱歉,你可以改行了:如果你是一名技术人员,无论你是程序员,测试人员,运维工程师还是时髦的DevOps工程师,你还没有运行过docker ...
- 个推基于Docker和Kubernetes的微服务实践
2019独角兽企业重金招聘Python工程师标准>>> 2016年伊始Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevO ...
- Docker和Kubernetes应用程序打包:Metaparticle、Pulumi与Ballerina比较
\ 本文要点 \\ 随着微服务架构的出现,软件行业正向着云原生应用程序开发和部署发展.\\t Docker和Kubernetes是现代化云原生部署自动化的关键要素.\\t 目前常见的做法是借助容器创建 ...
- QCon技术干货:个推基于Docker和Kubernetes的微服务实践
2019独角兽企业重金招聘Python工程师标准>>> 2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.Dev ...
- Docker与Kubernetes系列(一): Docker的基本概念
这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助.给自己定一个小目标, ...
- Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构.这是一篇写给程序员的 Docker ...
- 黑客使用合法工具接管 Docker 和 Kubernetes 平台
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:云头条 在最近一次攻击中,网络犯罪团伙TeamTN ...
最新文章
- c语言循环练习[xcode]
- 【S1官方核心】18128核心纯净雅黑H大全力打造的1.9精品
- 网站升级到新服务器,第一次折腾站点升级HTTPS 虽胜尤败
- elasticsearch,elasticsearch-service安装
- 理解CSS3 max/min-content及fit-content等width值
- jQuery选择id属性带有.点符号元素的方法
- Amoeba+Mysql实现读写分离+java连接amoeba
- c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解
- mysql查询语法错误_MySQL内部联接查询语法错误
- Colaboratory平台+Mask R-CNN进行模型训练和实例分割
- FTP+MySQL虚拟用户
- (面试题)用折半查找法在一组整形数组中查找某个数据
- 多元统计分析最短距离法_多元统计分析(11个常见的多变量分析方法)
- GPS原始信号数据解析
- tomcatX.exe与startup.bat启动的区别
- 百胜也要做外卖?市场会重新回到三足鼎立吗
- hans wouters_Hans教学丨十大进阶长板平花招式
- 【毕业设计】 stm32智能运动计步系统 - 物联网 嵌入式 单片机
- 未来计算机的畅享300,新学期畅享作文300字(通用5篇)
- php 百度天气接口api接口,PHP调用百度天气接口API实现查询实时天气