提及云计算,绝大多数人的反应是这样的:它是一门新兴技术,是互联网发展的未来趋势,云计算核心技术比较多,学习不易。不过如果你真的想要学好云计算,也是有其规律可循的,从基础到进阶、由简单到复杂,不断的学习加练习,你就可以学好它。

 

 

Kubernetes,简称K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署、规划、更新、维护的一种机制,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。

使用Kubernetes可以:自动化容器的部署和复制;随时扩展或收缩容器规模;将容器组织成组,并且提供容器间的负载均衡;很容易地升级应用程序容器的新版本;提供容器弹性,如果容器失效就替换它等等。Kubernetes核心概念知识:

 

 

Pod-容器组

Pod是Kubernetes的基本操作单元,指定多个有关联容器(有调用关系依赖)构成一个Pod。Pod包含的容器运行在同一个Minion上(Worker Node),Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统。

Deployment-部署

Deployment是最近几个版本才有的,部署表示用户对K8s集群的一次更新操作。部署是一个比RS应用模式更广的API对象,可以创建、更新一个新的服务,或者滚动升级一个服务。

Job-任务

Job是K8s用来控制批处理型任务的API对象。批处理业务与长期伺服业务的主要区别是批处理业务的运行有头有尾,而长期伺服业务在用户不停止的情况下永远运行。Job管理的Pod根据用户的设置把任务成功完成就自动退出,成功完成的标志根据不同的spec.completions策略而不同。

 

 

DaemonSet-后台支撑服务集

长期伺服型和批处理型服务的核心在业务应用,后台支持服务的核心关注点是K8s集群中的节点(物理机或虚拟机),节点可能是所有集群节点也可能是通过nodeSelector选定的一些特定节点。典型的后台支持型服务包括、存储、日志和监控每个节点上支持K8s集群运行的服务。

PetSet-有状态服务集

K8s在1.3版本里发布了Alpha版的PetSet功能,RC和RS主要是控制提供无状态服务,其所控制的Pod的名字是随机设置的。PetSet中Pod的名字作用用于关联与该Pod对应的状态。

Replication Controller-复制控制器

RC是K8s集群中最早的保证Pod高可用的API对象,通过监控运行中的Pod来保证集群中运行指定数目的Pod副本。通过RC运行Pod比直接运行Pod更明智,RC会保证Pod的数量。

 

 

Replica Set-副本集

RS是新一代的RC,提供同样的高可用能力,RS 能支持更多种类的匹配模式。副本集一般不单独使用,而是作为Deployment的状态参数使用。

Service-服务

RC、RS和Deployment只是保证了支撑服务的微服务Pod的数量,但是没有解决如何访问这些服务,稳定地提供服务需要服务发现和负载均衡能力。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐