码迷,mamicode.com
首页 > Web开发 > 详细

kubernetes ds6000cOm 之RC 18669144449 RSDeploy

时间:2018-12-02 17:29:06      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:bec   tor   select   为什么   获得   roc   case   k8s   color   

上一篇文章主要讲了pod,Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然而一旦被销毁生命就永远结束。 通过 ReplicationController 能够动态地创建和销毁 Pod(例如,需要进行扩缩容,或者执行 滚动升级)。实际开发中很少会去单独创pod,我们回去创建一个ReplicationController(简称RC),副本控制器,使用它来控制pod的副本数量,RS是ReplicaSets,Deploy是Deployment,他们都是k8s的一种资源,为什么我要把他们放到一起呢?因为他们非常相似,最早是RC,后来出现了RS,最后有了Deploy,一代比一代完善,所以现在通常都是使用Deploy部署服务的。本篇文章主要以Deploy为例子进行讲解。

废话不多说,直接上demo,通过上一篇一本也了解 yaml键值对的含义,这里就不一一介绍了。

deploy.yaml
技术分享图片
通过kubectl create命令创建,创建deploy的时候,它创建了一个 ReplicaSet 来启动3个 nginx pod。
技术分享图片
然后立即执行kubectl get 将获得如下结果:
技术分享图片
我们可以看到Deployment已经创建了3个 replica,所有的 replica 都已经是最新的了(包含最新的pod template),可用的(根据Deployment中的.spec.minReadySeconds声明,处于已就绪状态的pod的最少个数)。执行kubectl get rs和kubectl get pods会显示Replica Set(RS)和Pod已创建。
技术分享图片
您可能会注意到 ReplicaSet 的名字总是<Deployment名字>-<pod template的hash值>。
技术分享图片

注意: 您必须在 Deployment 中的 selector 指定正确的 pod template label(在该示例中是 app = nginx),不要跟其他的 controller 的 selector 中指定的 pod template label 搞混了(包括 Deployment、Replica Set、Replication Controller 等)。Kubernetes 本身并不会阻止您任意指定 pod template label ,但是如果您真的这么做了,这些 controller 之间会相互打架,并可能导致不正确的行为。

kubernetes ds6000cOm 之RC 18669144449 RSDeploy

标签:bec   tor   select   为什么   获得   roc   case   k8s   color   

原文地址:http://blog.51cto.com/14114139/2324887

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!