分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

kubernetes ds6000cOm 之RC 18669144449 RSDeploy

发布时间:2023-09-06 02:24责任编辑:傅花花关键词:kubernetes
上一篇文章主要讲了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

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved