您的位置首页 >科技 >

互联网实时新闻:时速云课堂:大规模容器集群管理之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可以更加容易,方便地管理多个容器,无论有多少容器。

特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!