CKA备考实验 | 修改deployment副本数

书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》

一边学习一边整理老师的课程内容及实验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:CKA备考实验 | 汇总_热爱编程的通信人的博客-CSDN博客


这里讲一下为什么要修改副本数,后面会讲到services(简称为svc),service就类似于一个负载均衡器,用户把请求发送给svc,然后svc把请求转发给后端的pod,如图8-4所示。

假设这里有一万个并发量,分配到2个pod里,每个pod大概承担5000个并发量,每个pod的负载就会很重。如果此时通过deployment把副本数改为3个的话,那么每个pod大概承担3300个并发量,这样每个pod的负载就减轻了很多。

有3种方式可以修改deployment的副本数。

通过命令行修改

第1种修改deployment副本数的方法是使用kubectl scale命令,语法如下。

kubectl scale deployment 名称 --replicas=新的副本数

自行创建1个名字为web1的deployment,副本为3。

##########实操验证##########
[root@vms10 deploy]# cat d1.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: web1
  name: web1
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: web1
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
status: {}
[root@vms10 deploy]# 
[root@vms10 deploy]# kubectl apply -f d1.yaml 
deployment.apps/web1 created
[root@vms10 deploy]# 
[root@vms10 deploy]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
web1-6fbb48567f-7qq7m   1/1     Running   0          7s
web1-6fbb48567f-m82jd   1/1     Running   0          7s
web1-6fbb48567f-s8frb   1/1     Running   0          7s
[root@vms10 deploy]#

步骤1:把web1的副本数修改为5。

##########实操验证##########
[root@vms10 deploy]# kubectl scale deployment web1 --replicas=5
deployment.apps/web1 scaled
[root@vms10 deploy]#

步骤2:查看deployment的相关信息。

##########实操验证##########
[root@vms10 deploy]# kubectl get deploy
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
web1   5/5     5            5           64s
[root@vms10 deploy]#

这里也显示了web1这个deployment里有5个pod在运行。

步骤3:查看pod数。

##########实操验证##########
[root@vms10 deploy]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
web1-6fbb48567f-7qq7m   1/1     Running   0          84s
web1-6fbb48567f-gv6xc   1/1     Running   0          36s
web1-6fbb48567f-m82jd   1/1     Running   0          84s
web1-6fbb48567f-s8frb   1/1     Running   0          84s
web1-6fbb48567f-wtthp   1/1     Running   0          36s
[root@vms10 deploy]#

通过编辑deployment的方式修改

第2种修改deployment副本数的方式就是通过kubectl edit命令在线修改deployment的配置。web1的副本数为5,现在改为3,操作步骤如下。

步骤1:执行kubectl edit deployment web1,打开web1的配置。

##########实操验证##########
[root@vms10 ~]# kubectl edit deployment web1
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
...

步骤2:找到replicas字段,把5改成3。

##########实操验证##########
...
spec:
  progressDeadlineSeconds: 600
  replicas: 3
  revisionHistoryLimit: 10
...

步骤3:保存退出,查看pod数目。

##########实操验证##########
[root@vms10 ~]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
web1-6fbb48567f-m82jd   1/1     Running   0          25h
web1-6fbb48567f-s8frb   1/1     Running   0          25h
web1-6fbb48567f-wtthp   1/1     Running   0          25h
[root@vms10 ~]#

修改yaml文件的方式

第3种修改副本数的方法是修改创建deployment的yaml文件,然后让其生效即可。现在副本数为3,要将其修改为5的操作步骤如下。

步骤1:修改web1.yaml,把副本数改成5。

##########实操验证##########
[root@vms10 deploy]# cat d1.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: web1
  name: web1
spec:
  replicas: 5
  selector:
    matchLabels:
      app: web1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: web1
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
status: {}
[root@vms10 deploy]#

步骤2:让web1.yaml所做的修改生效。

##########实操验证##########
[root@vms10 deploy]# kubectl apply -f d1.yaml 
deployment.apps/web1 configured
[root@vms10 deploy]#

步骤3:查看pod数。

##########实操验证##########
[root@vms10 deploy]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
web1-6fbb48567f-lqhzp   1/1     Running   0          22s
web1-6fbb48567f-m82jd   1/1     Running   0          25h
web1-6fbb48567f-s8frb   1/1     Running   0          25h
web1-6fbb48567f-w89td   1/1     Running   0          22s
web1-6fbb48567f-wtthp   1/1     Running   0          25h
[root@vms10 deploy]#

这里可以看到,已经有5个副本了。

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/131473753