Kubernetes提供了多种方式对于资源的扩缩容进行操作,这篇文章以RS(Replica Set)为例进行说明。

常用方法

方法1: 使用kubectl scale进行扩缩容

执行kubectl scale指定资源进行扩缩容操作

扩缩容命令:kubectl scale

方法2: 修改YAML文件执行kubectl apply进行扩缩容

通过如下步骤进行扩缩容:

  • 步骤1: 修改YAML文件的replica的实例数量
  • 步骤2: 通过kubectl apply -f 命令执行扩缩容

RS示例说明

示例YAML文件如下所示:

[root@host131 ReplicaSet]# cat selecotr-busybox-rs.yaml
---
apiVersion: apps/v1
kind: ReplicaSet
metadata:name: test-rs
spec:replicas: 1selector:matchLabels:app: busybox-rs-prodtemplate:metadata:name: busyboxlabels:app: busybox-rs-prodspec:containers:- name: busybox-hostimage: busybox:latestcommand: ["sleep"]args: ["10000"]
...
[root@host131 ReplicaSet]#

生成RS和Pod

[root@host131 ReplicaSet]# kubectl create -f selecotr-busybox-rs.yaml
replicaset.apps/test-rs created
[root@host131 ReplicaSet]#
[root@host131 ReplicaSet]# kubectl get rs -o wide
NAME      DESIRED   CURRENT   READY   AGE   CONTAINERS     IMAGES           SELECTOR
test-rs   1         1         1       7s    busybox-host   busybox:latest   app=busybox-rs-prod
[root@host131 ReplicaSet]#
[root@host131 ReplicaSet]# kubectl get pods -o wide
NAME            READY   STATUS    RESTARTS   AGE   IP             NODE              NOMINATED NODE   READINESS GATES
test-rs-nrjhh   1/1     Running   0          16s   10.254.152.5   192.168.163.131   <none>           <none>
[root@host131 ReplicaSet]#
  • 使用kubectl scale将Pod从1调整为3
[root@host131 ReplicaSet]# kubectl scale rs/test-rs --replicas=3
replicaset.apps/test-rs scaled
[root@host131 ReplicaSet]#

也可以使用如下格式执行操作

[root@host131 ReplicaSet]# kubectl scale rs test-rs --replicas=3
replicaset.apps/test-rs scaled
[root@host131 ReplicaSet]#

执行结果确认

[root@host131 ReplicaSet]# kubectl get pods -o wide
NAME            READY   STATUS              RESTARTS   AGE   IP             NODE              NOMINATED NODE   READINESS GATES
test-rs-97thq   0/1     ContainerCreating   0          5s    <none>         192.168.163.131   <none>           <none>
test-rs-gw72x   0/1     ContainerCreating   0          5s    <none>         192.168.163.131   <none>           <none>
test-rs-nrjhh   1/1     Running             0          53s   10.254.152.5   192.168.163.131   <none>           <none>
[root@host131 ReplicaSet]# kubectl get rs -o wide
NAME      DESIRED   CURRENT   READY   AGE   CONTAINERS     IMAGES           SELECTOR
test-rs   3         3         3       57s   busybox-host   busybox:latest   app=busybox-rs-prod
[root@host131 ReplicaSet]# kubectl get pods -o wide
NAME            READY   STATUS    RESTARTS   AGE   IP             NODE              NOMINATED NODE   READINESS GATES
test-rs-97thq   1/1     Running   0          14s   10.254.152.7   192.168.163.131   <none>           <none>
test-rs-gw72x   1/1     Running   0          14s   10.254.152.6   192.168.163.131   <none>           <none>
test-rs-nrjhh   1/1     Running   0          62s   10.254.152.5   192.168.163.131   <none>           <none>
[root@host131 ReplicaSet]#
  • 使用kubectl apply方式将Pod从3调整为2
[root@host131 ReplicaSet]# vi selecotr-busybox-rc.yaml
[root@host131 ReplicaSet]# grep replicas selecotr-busybox-rc.yaml replicas: 2
[root@host131 ReplicaSet]#
[root@host131 ReplicaSet]# kubectl apply -f selecotr-busybox-rc.yaml
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
replicationcontroller/test-rc configured
[root@host131 ReplicaSet]#

确认结果如下所示

[root@host131 ReplicaSet]# kubectl get rs -o wide
NAME      DESIRED   CURRENT   READY   AGE     CONTAINERS     IMAGES           SELECTOR
test-rs   2         2         2       2m36s   busybox-host   busybox:latest   app=busybox-rs-prod
[root@host131 ReplicaSet]#
[root@host131 ReplicaSet]# kubectl get pods -o wide
NAME            READY   STATUS        RESTARTS   AGE     IP             NODE              NOMINATED NODE   READINESS GATES
test-rs-97thq   1/1     Running       0          117s    10.254.152.7   192.168.163.131   <none>           <none>
test-rs-gw72x   1/1     Terminating   0          117s    10.254.152.6   192.168.163.131   <none>           <none>
test-rs-nrjhh   1/1     Running       0          2m45s   10.254.152.5   192.168.163.131   <none>           <none>
[root@host131 ReplicaSet]#
[root@host131 ReplicaSet]# kubectl get pods -o wide
NAME            READY   STATUS    RESTARTS   AGE     IP             NODE              NOMINATED NODE   READINESS GATES
test-rs-97thq   1/1     Running   0          4m1s    10.254.152.7   192.168.163.131   <none>           <none>
test-rs-nrjhh   1/1     Running   0          4m49s   10.254.152.5   192.168.163.131   <none>           <none>
[root@host131 ReplicaSet]#

Kubernetes基础:资源扩缩容方法(Replica Set)相关推荐

  1. Kubernetes基础:资源扩缩容方法(Replication Controller)

    Kubernetes提供了多种方式对于资源的扩缩容进行操作,这篇文章以RC(Replication Controller)为例进行说明. 常用方法 方法1: 使用kubectl scale进行扩缩容 ...

  2. Kubernetes HPA 动态弹性扩缩容

    1.HPA 1.1HPA介绍 1.在Kubernetes中,HPA自动更新工作负载资源(例如:Deployment或者StatefulSet),目的是自动扩缩工作负载以满足需求,水平扩缩意味着对增加的 ...

  3. Kubernetes:HPA 详解-基于 CPU、内存和自定义指标自动扩缩容

    目录 HPA 基本原理 Metrics Server 聚合 API 安装Metrics Server HPA 基于 CPU自动扩缩容 查看 HPA 资源的对象了解工作过程: HPA 基于 内存自动扩缩 ...

  4. Serverless Kubernetes 应用部署及扩缩容

    作者 | 邓青琳(轻零) 阿里云技术专家 导读:本文分为三个部分,首先给大家演示 Serverless Kubernetes 集群的创建和业务应用的部署,其次介绍 Serverless Kuberne ...

  5. 爱奇艺体验Serverless极致扩缩容,资源利用率提升40%

    简介:Serverless 应用引擎 SAE 是面向应用的 Serverless PaaS平台,提供了效率更高.成本更优的一站式应用托管方案.零门槛+零改造+零容器基础,即享Serverless+K8 ...

  6. 爱奇艺体育:体验Serverless极致扩缩容,资源利用率提升40%

    简介: Serverless 应用引擎 SAE 是面向应用的 Serverless PaaS平台,提供了效率更高.成本更优的一站式应用托管方案.零门槛+零改造+零容器基础,即享Serverless+K ...

  7. Flink checkpoint操作流程详解与报错调试方法汇总,增量checkpoint原理及版本更新变化,作业恢复和扩缩容原理与优化

    这里写目录标题 flink checkpint出错类型 flink 重启策略 Checkpint 流程简介 增量Checkpoint实现原理 MemoryStateBackend 原理 FsState ...

  8. K8S集群Pod资源自动扩缩容方案

    K8S集群Pod资源自动扩缩容方案 1.为什么要是有自动扩缩容 在K8S集群中部署的应用程序都是以Pod的形式部署的,我们在部署Pod资源时都会指定Pod资源的副本数,但是这个数量是写死的,平时可能启 ...

  9. Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路

    作者 | 顾荣  南京大学PASALab, Fluid项目co-founder 来源 | 阿里巴巴云原生公众号 导读:为了解决大数据.AI 等数据密集型应用在云原生场景下,面临的异构数据源访问复杂.存 ...

最新文章

  1. Sublime Text 3 python 配置
  2. mysql深入使用教程_深入mysql基础知识的详解
  3. Android ListView 圆角
  4. django模板系统Template
  5. 计算机网址登录教程,melogincn电脑登录教程
  6. 计算机d盘不显示容量,电脑D盘可用空间小,可是看不到文件
  7. tde数据库加密_在其他服务器上还原启用了透明数据加密(TDE)的数据库
  8. android textview电话号码,Android应用开发之Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)...
  9. java stream findany_Java Stream findFirst() vs findAny() API With Example
  10. 在线翻译、词典、离线工具大全
  11. 企业微信分享小程序功能
  12. 中国人正在上的四个大当 看你到底上了几个了?
  13. elasticsearch查看版本号
  14. 【Lua进阶系列】实例lua调用capi
  15. 按键边缘检测,控制LED亮灭
  16. Codeforces 371 A,B,C
  17. MACOS 12以上系统如何安装HP打印机驱动
  18. 【3D目标检测】[看code] VoxelRCNN RPN(一)
  19. 计算两个时间的时间差(C语言)
  20. 2022年围绕着BI平台的成长

热门文章

  1. 蔡高厅高等数学29-隐函数求导数方法
  2. 【学术】collins词典的固定用法和例句
  3. 管理“移动×××”的好助手GFIEndPointSecurity详解
  4. 人工智能:新技术的“双刃剑”
  5. 腾讯云短视频服务端解决方案
  6. HMS Core Keyring携手航班管家和高铁管家,打造美好出行体验
  7. 目前流行的微型计算机内存的配置为,全国计算机一级考试模拟试题
  8. 深入理解机器学习——类别不平衡学习(Imbalanced Learning):应用领域
  9. 重大要素改变中的机会选择包括_CCAA12月5日下午ISO90012015转版考试题A答案
  10. fx5800p编程教程_CASIOfx5800P基本功能及编程学习解说.ppt