公司

更多

时速云课堂:大规模容器集群管理之Kubernetes实践第一期

关键词: 课堂

发表于2016-11-19 21:06:29 0 0
时速云联合创始人兼CTO王磊于11月27日在CSDN总部进行主题为《容器技术及Kubernetes介绍》的视频直播课程,王磊的视频直播课程获得很好的反响。
              时速云联合创始人兼CTO王磊于11月27日在CSDN总部进行主题为《容器技术及Kubernetes介绍》的视频直播课程,王磊的视频直播课程获得很好的反响。可能有些小伙伴感慨错过了课程直播,我们整理了视频直播课程的干货内容分享给大家。

  视频直播中,王磊主要讲了两个方面的内容:Docker相关技术介绍,kubernetes理念及架构。


  1. Docker相关技术介绍


  首先从docker镜像和docker容器两个大方面讲起的,浅谈了什么是docker;以及docker/容器的应用场景。docker/容器的应用场景方面主要讲了基于容器提供类似IaSS的功能的优势以及缺点等。Docker镜像的内容首先让大家了解什么是镜像以及镜像的特点,主要的内容还是讲如何管理镜像。











  2. kubernetes理念及架构


  主要介绍了kubernetes轻量级,插件式的架构设计等优势,然后围绕kubernetes的网络,资源管理,存储,服务发现及负载均衡,高可用,安全,日志,监控,Rolling Upgrade,服务编排这些特性来进行解析。


  Kubernetes的基本架构和概念


  Pod (最⼩部署单元,容器集合,共享存储、⺴络)


  ReplicationController (pod⽣命周期控制器,scale 资源伸缩)


  Service (抽象服务出⼝,通过proxy 对多个容器负载均衡,内部服务发现)


  Labels (标签,⽤于分类,查询筛选,规则由⽤户指定)


  Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:


  1) 使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。


  2) 以集群的方式运行、管理跨机器的容器。


  3) 解决Docker跨机器容器之间的通讯问题。


  4) Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。


  当前Kubernetes支持GCE、vShpere、CoreOS、OpenShift、Azure等平台,除此之外,也可以直接运行在物理机上。


  接下来本文主要从以下几方面阐述Kubernetes:


  1) Kubernetes的主要概念。


  2) Kubernetes的构件,包括Master组件、Kubelet、Proxy的详细介绍。


  Kubernetes主要概念


  1)Pods


  Pod是Kubernetes的基本操作单元,把相关的一个或多个容器构成一个Pod,通常Pod里的容器运行相同的应用。Pod包含的容器运行在同一个Minion(Host)上,看作一个统一管理单元,共享相同的volumes和network namespace/IP和Port空间。


  2)Services


  Services也是Kubernetes的基本操作单元,是真实应用服务的抽象,每一个服务后面都有很多对应的容器来支持,通过Proxy的port和服务selector决定服务请求传递给后端提供服务的容器,对外表现为一个单一访问接口,外部不需要了解后端如何运行,这给扩展或维护后端带来很大的好处。


  3)Replication Controllers


  Replication Controller确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行,如果少于指定数量的pod副本(replicas),Replication Controller会启动新的Container,反之会杀死多余的以保证数量不变。Replication Controller使用预先定义的pod模板创建pods,一旦创建成功,pod 模板和创建的pods没有任何关联,可以修改pod 模板而不会对已创建pods有任何影响,也可以直接更新通过Replication Controller创建的pods。对于利用pod 模板创建的pods,Replication Controller根据label selector来关联,通过修改pods的label可以删除对应的pods。Replication Controller主要有如下用法:


  4) Rescheduling


  如上所述,Replication Controller会确保Kubernetes集群中指定的pod副本(replicas)在运行,即使在节点出错时。


  5) Scaling


  通过修改Replication Controller的副本(replicas)数量来水平扩展或者缩小运行的pods。


  6) Rolling updates


  Replication Controller的设计原则使得可以一个一个地替换pods来rolling updates服务。


  7) Multiple release tracks


  如果需要在系统中运行multiple release的服务,Replication Controller使用labels来区分multiple release tracks。


  8)Labels


  Labels是用于区分Pod、Service、Replication Controller的key/value键值对,Pod、Service、 Replication Controller可以有多个label,但是每个label的key只能对应一个value。Labels是Service和Replication Controller运行的基础,为了将访问Service的请求转发给后端提供服务的多个容器,正是通过标识容器的labels来选择正确的容器。同样,Replication Controller也使用labels来管理通过pod 模板创建的一组容器,这样Replication Controller可以更加容易,方便地管理多个容器,无论有多少容器。


0条评论发表评论

热门文章

京ICP备11027698号 CopyRight 2010-2015 All Rights Reserved 

公司旗下网站:www.sendto.cn(公司网站)www.jiuye.net(就业数字图书馆)

合作单位:北京交通大学出版社