Kubernetes让Docker容器如虎添翼

本文讲的是Kubernetes让Docker容器如虎添翼【编者的话】本文主要讲述作者看好Kubernetes与Docker结合的未来。

一年前,我开始学习Docker容器。几个月下来,我意识到我正在学习的是一项革命性技术,原因如下:

  1. 快速学习:对于任何我想学习的工具、框架或者编程语言,按需使用Docker容器可以加快我探索性学习环境的搭建。
  2. 按需自助服务环境:Docker容器可以用来搭建按需自助服务的开发和测试环境。对于开发和测试人员来说,这是巨大生产力的助推器。
  3. 自动部署:使用Docker容器可以搭建Jenkins、代码仓库等工具,在开发、测试以及UAT(User Acceptance Test,用户验收测试)服务环境中进行自动部署。

对于Docker容器而言,我觉得以下功能是需要的:

  1. 管理app集群:规模化多个Docker容器来满足应用程序的需求。例如,一个由Flume、Kafka以及Spark容器组成的数据管道。现在的需求是,通过扩大管道增加更多的Flume、Kafka以及Spark容器来处理更大的数据集。或者说通过集群配置启动更多的应用程序来处理更大的数据集。例如,Flume集群传输数据到Kafka集群。
  2. 容器编排:根据按需服务需求管理容器,启动或者停止运行着应用程序的容器。例如,启动或停止Jenkins集群按需进行CI工作。
  3. 组件重新打包:有时候想重新打包已有应用程序,然后将他们一起启动来测试不同应用程序的配置。

对于这些需求,使用Kubernetes能够很容易满足。

当我潜心深入Kubernetes的世界时,我发现这是最近一段时间我使用过的最棒的工具之一。毫无疑问它对于使用Docker容器的DevOps专业人员来说是如虎添翼。

以下是Kubernetes的几个关键模块,通过这些模块能够简化我将多个容器配置在一起的过程,并且不论何时当我想将这些容器作为一个统一服务时,都能保持特定数量的副本。

  • Pods:Pod可以被看作是一组由一个或者多个同地协作且共同管理的容器,这些容器共享相同的命名空间以及volume。每一个pod都关联了一个IP地址,从而能够让外界访问运行在pod中的应用程序。Pod能够用于同地协作且共同管理多个共享volume的Docker容器。
  • Services:Services给pod提供了更高层次的抽象。如果一个或者多个pod需要依赖其他pod,这就需要通过service来完成。设想通过Kubernetes的service来暴露一个Kafka集群。
  • Replication controllers: Replication controllers在任何时候都保持着一定数量的pod副本。这意味着如果有一个或者多个pod停止服务,控制器能够合适地启动相同数量的pod。

在原生云应用程序的发展趋势下容器和微服务成为了关键组件,而Kubernetes被认为是在不同层次共同管理原生云应用程序的最关键组件。事实上,CNCF.io也已经意识到Kubernetes是满足原生云应用程序的首选工具。并且,随着目前Docker容器逐步成为最流行的容器化技术,它们的结合只会让彼此变得更加强大,超越其他任何需要容器间协同工作的原生云结构编排工具。

原文链接:Docker Containers Only Shine More with Kubernetes(翻译:肖远昊)

原文发布时间为:2016-10-06

本文作者:肖远昊

原文标题:Kubernetes让Docker容器如虎添翼

时间: 2024-07-29 16:55:08

Kubernetes让Docker容器如虎添翼的相关文章

容器存储架构比较:Kubernetes、Docker和Mesos Compare

本文讲的是容器存储架构比较:Kubernetes.Docker和Mesos Compare[编者的话] 容器存储是容器离不开的一个话题,对于无状态的Docker容器,容器重启时容器数据会自动清除,一些静态的数据我们可以通过配置文件或者在容器build时直接写死.但是对于数据库.日志文件等可以实时变化的数据,我们不能够通过这种方法存取.结合场景这次主要谈下Docker的存储方式,以及主要存储方式的对比. [3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站]本次培训围绕基于Docker

《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——1.2 了解容器的组成

1.2 了解容器的组成 Docker是Docker项目开发的一种容器格式.docker命令能够运行.停止.启动.调查容器,还能操纵容器.docker命令也可以作为服务守护进程运行,处理管理Docker容器的请求.默认情况下,这个Docker服务会从Docker Hub Registry获取你请求的镜像.虽然你无需知道更多就可以开始使用,但接下来会依次给出一些额外的信息. 1.2.1 Docker项目 Docker项目为Docker开发提供了一个中心.它将Docker称为"一个针对分布式应用开发者

《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——第1章 使用Docker对应用进行容器化 1.1了解容器化应用的优缺点

第1章 使用Docker对应用进行容器化 Docker为应用程序的打包和运行提供了一种优雅的方式.使用喜欢的Linux系统,几分钟之内就能将Docker安装好并作为服务运行起来.构建.运行.停止.启动.调查.修改或者用其他的方式操作容器非常容易,说实话,很棒. Docker的简单易用使其成为当今最流行的开源项目之一.但是作为数据中心容器化核心的Docker却引起了极大的震动,其潜力无异于重新发明了个人和公司(或大或小)创建.测试.部署和管理其最关键应用程序的方式. 使用容器化技术也可以让应用程序

《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——第2章 搭建容器运行时环境 2.1标准Linux系统的Docker配置

第2章 搭建容器运行时环境 自构建之初,Docker就运行在Linux之上.但与虚拟机不同,虚拟机包含了整个操作系统,而容器本身只是依靠单独的操作系统为其提供运行环境.这就是说,我们有诸多可选的方式来创建Docker的工作环境.具体方式包括以下这些. 标准Linux:多个主要的Linux发行版已将Docker打包在其中.如需最新的Docker特性,只要安装相应Linux发行版的最新版本即可.切记,Docker与操作系统有着密切的联系,因此,Linux的早期版本可能并不包含Docker运行所需的全

《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——1.4 小结

1.4 小结 通过将应用程序(以及应用程序运行所需要的全部东西)与运行该应用程序的宿主机解耦,Docker容器提供了一种简单.优雅的应用程序部署和运行方式.较之于将应用程序直接安装在宿主机上所获得的灵活性,Docker容器能够提供更大的使用灵活性.而且,与虚拟机相比,Docker容器对系统资源(如CPU使用.内存消耗以及磁盘空间使用)的要求很少. 本章描述了构成Docker的不同组件.这些组件由Docker项目管理,包括Docker Hub Registry(它保存Docker镜像).Docke

基于微服务和Docker容器技术的PaaS云平台架构设计

本文讲的是基于微服务和Docker容器技术的PaaS云平台架构设计[编者的话]在系统架构上,PaaS云平台主要分为微服务架构.Docker容器技术.DveOps三部分,这篇文章重点介绍微服务架构的实施. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.Docker Volume Pulgin.Kubernetes Storage机制.容器网络实现原理和模型.Docker网络实现.网络插件.

DockOne微信分享(一二〇):基于Kubernetes的私有容器云建设实践

本文讲的是DockOne微信分享(一二〇):基于Kubernetes的私有容器云建设实践[编者的话]本次分享将为大家介绍易宝支付私有容器云从0到1的建设之路.包括技术选型.理论基础.基于Kubernetes的容器云和CI/CD落地过程中的挑战和踩过的坑. 建设背景及目标 在Docker技术流行开来之前,保证软件交付的质量和速度对于大多数企业来说都是困难的.业务的复杂性带来了应用的复杂性,面对成千上万的不同应用,运维部门需要时刻应对来自不同应用.不同环境的挑战.特别是在自动化运维程度不高的企业,"

Docker 容器健康检查机制

在分布式系统中,经常需要利用健康检查机制来检查服务的可用性,防止其他服务调用时出现异常. 对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活.Docker Daemon会自动监控容器中的PID1进程,如果docker run命令中指明了restart policy,可以根据策略自动重启已结束的容器.在很多实际场景下,仅使用进程级健康检查机制还远远不够.比如,容器进程虽然依旧运行却由于应用死锁无法继续响应用户请求,这样的问题是无法通过进程监控发现的. 在Kubernetes提供了

使用OpenStack管理Docker容器(二)

本文讲的是使用OpenStack管理Docker容器(二),[编者的话]本文将讲述如何使用OpenStack创建并管理Docker,有3种流行的使用方法,使用的分别是Nova Docker驱动,Heat Docker插件,以及Magnum.这篇文章分成2部分,第一部分,将主要介绍Nova Docker驱动的用法,第二部分,是关于Heat Docker插件和Magnum.这是序列文章的第二部分,即最后一部分. 这篇文章是之前的那篇<如何使用OpenStack管理Docker容器>的后续,在这篇文