ITBear旗下自媒体矩阵:

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

   时间:2015-12-22 11:12:31 来源:中国软件资讯网编辑:星辉 发表评论无障碍通道

时速云联合创始人兼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 收藏 0 打赏 0评论 0
 
 
更多>同类资讯
全站最新
热门内容
网站首页  |  关于我们  |  联系方式  |  版权声明  |  网站留言  |  RSS订阅  |  违规举报  |  开放转载  |  滚动资讯  |  English Version
关闭
ITBear微信账号

微信扫一扫
加微信拉群
电动汽车群
科技数码群