Docker和Kubernetes
Docker和Kubernetes
Docker
Docker是一个容器的开放平台,但它不是最早的。自20世纪70年代以来,容器平台一直存在。他们的开发可以追溯到Unix中的chroot系统调用。在2000年代早期,FreeBSD Jails和Linux服务器的开发导致了2008年的Linux容器(LXC)。Docker在2013年左右出现在容器领域,并立即取得了成功。原因是Docker使得运行容器变得简单;使用Docker,开发人员可以轻松启动,停止和销毁容器。而且带来的低学习曲线和易用性,使其成为软件开发过程中的主要方向。
Kubernetes
Kubernetes的发展独立于Docker。2003年左右,谷歌创建了Borg系统来应对日益增长的集群管理问题。这是一个内部工具。2014年年中,Google推出Kubernetes作为Borg系统的开源版本。不久,微软,红帽,IBM和Docker加入,以支持Kubernetes社区。Kubernetes是一个容器编排解决方案。当开发人员在开发环境中处理少量容器时,管理服务并不是什么大问题。但是,当应用程序部署到生产环境并且有数百或数千个容器和服务时,管理任务变得复杂。Kubernetes简化了大规模部署的容器管理问题。在Kubernetes环境中,开发人员使用pod的概念创建他们的应用程序。Pod是集群在一起的容器,就像单个单元一样工作。这些pod已部署到Kubernetes主节点以及配置要求,如pod数和网络设置。主节点管理工作节点。在部署pod之后,主节点负责跟踪容器。Kubernetes使生产团队易于进行容器管理和编排。
Kubernetes和Docker的交叉点
了解Kubernetes和Docker的交叉点从上面的讨论中可以看出,Docker容器是使用Kubernetes管理的。所以不应该有任何“Docker vs. Kubernetes”讨论。但Docker有一款名为Docker Swarm的产品。它是一个集群和调度工具。它类似于Kubernetes,所以任何正在研究容器编排工具的人都应该研究“Kubernetes vs. Docker Swarm”比较。由于Docker的普及,许多开发团队使用Docker Swarm启动容器编排。这似乎是自然的下一步。这很容易学习,Kubernetes的学习曲线更加陡峭。但是使用Minikube学习它变得越来越容易,Minikube是一个运行单节点Kubernetes集群的工具。另一个重要因素是Kubernetes拥有比Docker Swarm更强大的社区,所有主要的云提供商都支持它。亚马逊AWS已经为Kubernetes(Amazon EKS)启动了Amazon Elastic Container Service,Google Cloud拥有Kubernetes Engine,微软Azure拥有Azure Kubernetes服务(AKS)。所以目前看来,主要的市场力量正在将Kubernetes作为一个容器编排解决方案。
Docker和Kubernetes的主要趋势
- 管理Docker和Kubernetes环境的DevOps团队应该关注这些关键趋势:微服务的使用:微服务架构是容器使用兴起的主要原因之一。在这种架构中,应用程序被分解为更小的独立服务。容器非常适合在生产环境中支持这些类型的应用程序。因此,期望支持更多使用Docker和Kubernetes的基于微服务的应用程序。多云环境的增加:企业越来越担心使用单云解决方案。因此,他们正在寻求多云环境以获得更多选择并减少对单个供应商的依赖。这意味着DevOps团队必须具备在多云环境中运行Docker和Kubernetes所需的技能,这将带来新的挑战。对Docker和Kubernetes的支持越来越多:Docker和Kubernetes都拥有强大的社区。Docker Hub拥有一个活跃的用户群,可以定期更新各种应用程序的镜像。Kubernetes也得到了开源社区和亚马逊,谷歌,微软和IBM等大公司的大力支持。所以Docker和Kubernetes将在企业和小企业中变得更加普遍。结语所以其实并不是“Kubernetes vs Docker”,讨论应该集中在“Kubernetes vs. Docker Swarm”上。这两种技术在今天的软件环境中都扮演着重要的角色。Docker容器改进了开发过程,Kubernetes容器编排改进了部署过程。DevOps团队可以利用这些技术的强大功能构建更强大的持续集成和持续交付(CI/CD)管道,以实现更快,更可靠的软件开发周期
Docker和Kubernetes的更多相关文章
- 如何在Windows 10上运行Docker和Kubernetes?
如何在Windows 10上运行Docker和Kubernetes? 在Windows上学习Docker和Kubernetes,开始的时候会让你觉得无从下手.最起码安装好这些软件都不是一件容易的事情. ...
- QCon技术干货:个推基于Docker和Kubernetes的微服务实践
2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevOps构成的云原生席卷整个IT界.在近期举办的QCon全球软件开发大会上, ...
- 在Docker和Kubernetes上运行MongoDB微服务
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟.容器是完全使用沙箱机制,相互之间不会有任何接 ...
- 大型网站技术学习-3. 容器Docker与kubernetes
大型网站技术基石篇-容器Docker与kubernetes Docker和Kubernetes的关系就如Xen与OpenStack. Docker是一种容器技术,和Hypervisor(KVM/X ...
- Docker vs. Kubernetes vs. Apache Mesos: Why What You Think You Know is Probably Wrong
Docker vs. Kubernetes vs. Apache Mesos: Why What You Think You Know is Probably Wrong - Mesosphere h ...
- Linux下安装docker与kubernetes(k8s)
环境 安装是使用Vmware虚拟机下进行,操作系统是CentOS7 64位.规划是使用三台虚拟机搭建k8s的集群,网络使用NAT模式.三台的ip分别为: k8s-master:192.168.91.1 ...
- 极简Docker和Kubernetes发展史
2013年 Docker项目开源 2013年,以AWS及OpenStack,以Cloud Foundry为代表的开源Pass项目,成了云计算领域的一股清流,pass提供了一种"应用托管&qu ...
- Docker学习-Kubernetes - 集群部署
Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...
- 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...
- 【转帖】极简Docker和Kubernetes发展史
极简Docker和Kubernetes发展史 https://www.cnblogs.com/chenqionghe/p/11454248.html 2013年 Docker项目开源 2013年,以A ...
随机推荐
- Dubbo-本地测试直连
一.服务提供方 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...
- 9. SOFAJRaft源码分析— Follower如何通过Snapshot快速追上Leader日志?
前言 引入快照机制主要是为了解决两个问题: JRaft新节点加入后,如何快速追上最新的数据 Raft 节点出现故障重新启动后如何高效恢复到最新的数据 Snapshot 源码分析 生成 Raft 节点的 ...
- socket粘包问题及解决方案
一.粘包问题 问题1: 无法确认对方发送过来数据的大小. 'client.py' import socket client = socket.socket() client.connect( ('12 ...
- 跌宕起伏的java帝国史,剖析谷歌甲骨文长达8年的版权战争
这篇博文是我在B站上发的一个科普java的视频文案整理,本来发过一次了,但是有几种不严谨的地方只能删掉重新发了一下,内容如标题,感兴趣的码农朋友可以观看视频的版本,欢迎提提意见啥的,感谢~https: ...
- selenium自动化测试入门 定位frame和iframe中的元素对象
< frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...
- Java工作流系统-父子流程的配置讲解
父子流程 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统 适配数据库: oralce,mysql ...
- .NET C# 红包生成算法,可设置红包总额和数量,可限制最大最小红包
很多场景算红包的要求:根本问题就是指定的钱,指定的个数,红包发完,钱不剩余,最小红包1分钱,最大也需要限制. 原理:割绳子算法:每次都取最大值为总绳长的随机值,最后将其排序,计算每两个的差值,总差值即 ...
- Huffman树及其编码(STL array实现)
这篇随笔主要是Huffman编码,构建哈夫曼树有各种各样的实现方法,如优先队列,数组构成的树等,但本质都是堆. 这里我用数组来存储数据,以堆的思想来构建一个哈弗曼树,并存入vector中,进而实现哈夫 ...
- 【转】HTML5+WebGL:构建 3D 网页新世界
今年下半年, HTML5 和 WebGL 变成极热门词语,3D 网页来势汹汹.主流的浏览器 Google Chrome 以及 Mozilla Firefox 均致力于 HTML5+WebGL 的 3D ...
- YOLO V3训练自己的数据集
数据的输入几乎和Faster rcnn一样,标签格式xml是一样的. 相比Faster rcnn,数据多了一步处理,通过voc_annotation.py将图片路径和bbox+class存储在txt下 ...