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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 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搭建和管理企业级网站应用
目录
相关文章
|
5天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
|
16天前
|
Kubernetes 监控 Cloud Native
云原生入门:从传统应用到容器化部署的旅程
【9月更文挑战第19天】在数字化浪潮中,企业正迅速将目光投向云原生技术,以实现更快的应用开发和更灵活的资源管理。本文将通过一个简单示例引导读者理解如何将传统应用转变为云原生应用,并部署至云端。我们将探索容器化技术的基础,以及它如何帮助企业解锁现代软件交付的速度和效率。准备好让你的应用乘上云原生的快车了吗?让我们开始这段令人兴奋的旅程吧!
|
1月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
181 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
1月前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
54 2
二进制部署Kubernetes 1.23.15版本高可用集群实战
|
18天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第49天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
29天前
|
Kubernetes Docker Python
如何在K8s中使用Python应用
一文带你了解如何在K8s中使用Python应用
21 4
|
8天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
23 0
|
1月前
|
Kubernetes Ubuntu 网络安全
Ubuntu基于kubeadm快速部署K8S实战
关于如何在Ubuntu系统上使用kubeadm工具快速部署Kubernetes集群的详细实战指南。
114 2
|
1月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
63 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
1月前
|
Kubernetes 容器
Kubernetes附加组件Dashboard部署实战篇
关于如何在Kubernetes集群中部署和配置Dashboard组件的详细实战指南,涵盖了从创建证书、部署Dashboard、设置服务访问到登录认证的完整流程。
105 0
Kubernetes附加组件Dashboard部署实战篇
下一篇
无影云桌面