Kubernetes详解(二十一)——ReplicaSet控制器实战应用

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Kubernetes详解(二十一)——ReplicaSet控制器实战应用

今天继续给大家介绍Linux运维相关知识,本文主要内容是ReplicaSet控制器实战应用。
在上文Kubernetes详解(二十)——ReplicaSet控制器中,我们讲解了ReplicaSet控制器的基本内容和创建,今天,我们来进行ReplicaSet控制器的实战。

一、ReplicaSet控制器应用升级
首先,我们来使用ReplicaSet控制器进行应用升级。在上文中,ReplicaSet控制器在创建后,我们来查看一下该控制器控制的Pod的镜像版本,执行命令:

kubectl get pods -o custom-columns=Name:metadata.name,Image:spec.contianers[0].image
1
在上述命令中,我们使用了-o custom-columns参数,用于指定显示的列。其中Name和Image为列名,后面跟冒号,然后再指定显示的内容。显示的内容使用Kubernetes的关键字段名表示,不同的列之间用逗号分割。
该命令执行结果如下:

从上图中可以看出,当前Kubernetes集群中Pod的版本是v1。接下来,我们来将该ReplicaSet控制器所控制的Pod的版本升级为v2。打开该ReplicaSet控制器的资源清单配置文件,将image字段由v1修改为v2,修改内容如下图红圈部分所示:

之后,我们重新创建ReplicaSet控制器,执行命令:

kubectl apply -f ReplicaSet.yaml
1
执行完成后,再次执行命令:

kubectl get pods -o custom-columns=Name:metadata.name,Image:spec.contianers[0].image
1
查看ReplicaSet控制器所控制的Pod的镜像版本,结果我们发现ReplicaSet控制器并没有完成版本更新的操作。这是因为ReplicaSet不会自动完成更新,该命令只会使得新创建的Pod控制器更新为新的版本。我们如果完成Pod的版本更新,还需要手动删除原有的Pod控制器,才能够彻底的完成Pod的更新。
因此,我们执行命令:

kubectl delete pods -l demo=replicaset
1
删除该ReplicaSet控制器控制的Pod资源对象,然后再次执行命令:

kubectl get pods -o custom-columns=Name:metadata.name,Image:spec.contianers[0].image
1
查看Pod的版本,就会发现Pod控制器已经更新完毕。
全过程如下所示:

从上图中可以看出,当前ReplicaSet控制器所控制的Pod的Image版本为v2,我们的ReplicaSet控制器版本升级实战成功!

二、ReplicaSet控制器扩容和缩容
接下来,我们进行ReplicaSet控制器的扩容和缩容实战。首先,我们执行命令:

kubectl get rs
1
查看该ReplicaSet控制器下的Pod数量。之后,我们执行扩容命令:

kubectl scale replicasets rs --replicas=3
1
在该命令中,scale为扩容命令的关键字,replicasets指定扩容的对象为ReplicaSet控制器,后面的rs为该ReplicaSet控制器的名称,后面的–replicas=3表示将该控制器所控制的Pod数量设定为3。
之后,我们再次执行rs的查看命令,以查看ReplicaSet控制器扩容后的Pod数量。
上述过程执行情况如下:

从上图中可以看出,在扩容前,ReplicaSet控制的Pod数量为2,在扩容后,ReplicaSet控制的Pod数量为3,ReplicaSet的扩容实战成功!
至于ReplicaSet控制器的缩容,则其基本命令与扩容的命令相同,所不同之处在于–replicas参数后面的值要小于当前实际的Pod数量。在以上的基础上,执行命令:

kubectl scale replicasets rs --replicas=1
1
可以将ReplicaSet控制器的Pod数量缩容至1个,该命令执行结果如下:

三、ReplicaSet控制器资源删除
最后,我们来介绍一下ReplicaSet控制器资源的删除。
如果我们想删除该ReplicaSet资源控制器,可以执行执行命令:

kubectl delete 【ReplicaSet控制器名称】
1
如下所示:

然而,从上图中可以看出,这样删除ReplicaSet后,该控制器所管理的Pod也会随之删除。
有时,我们希望删除ReplicaSet控制器,但是又希望该控制器所管理Pod依然存在,那么我们可以在删除命令的后面加上–cascade=false,执行命令:

kubectl delete replicasets rs --cascade=false
1
这样,就可以在删除ReplicaSet控制器但是不删除其控制的Pod了,该命令执行结果如下:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124349230

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
12天前
|
Kubernetes 监控 调度
【赵渝强老师】K8s的DaemonSet控制器
DaemonSet控制器确保每个节点上运行一个Pod副本,适用于监控、日志收集等场景。通过示例创建DaemonSet并查看Pod信息,展示了其自动扩展和回收的能力。视频讲解和代码示例详细说明了DaemonSet的使用方法和调度机制。
|
29天前
|
存储 Kubernetes 持续交付
介绍一下Kubernetes的应用场景
【10月更文挑战第18天】介绍一下Kubernetes的应用场景。
129 3
|
12天前
|
Kubernetes 调度 容器
【赵渝强老师】K8s中Job控制器单工作队列的串行方式
Kubernetes中的Job控制器用于管理一次性任务,确保任务完成后不再重启。本文介绍了Job的工作原理、运行方式及示例,包括创建Job、查看Job和Pod信息等步骤,并附有视频讲解。
|
12天前
|
Kubernetes 双11 容器
【赵渝强老师】Kubernetes中的控制器
Kubernetes通过控制器管理Pod的生命周期,以应对不同场景需求,如Deployment、DaemonSet、Job等。控制器可自动调整Pod数量和重启故障Pod,确保系统稳定运行。视频讲解和详细内容见下文。
|
10天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
10天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
12天前
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】K8s中的Deployment控制器
Kubernetes中的Deployment用于部署无状态应用程序,管理Pod的数量、更新方式和资源限制。通过创建和管理ReplicaSet,Deployment可以实现Pod的自动扩缩容、滚动更新和回滚。本文介绍了Deployment的基本概念,并通过一个具体的示例演示了如何使用Deployment创建、更新和管理Pod。
|
18天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
54 1
|
27天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
12天前
|
存储 Kubernetes 调度
【赵渝强老师】K8s中Deployment控制器与StatefulSet控制器的区别
K8s中的Deployment控制器用于管理无状态应用程序,关注Pod数量、更新方式等;而StatefulSets控制器则管理有状态应用程序,提供持久存储和唯一标识符,适用于需要稳定网络标识符和持久化存储的场景。两者的主要区别在于是否维护状态和顺序。
下一篇
无影云桌面