Kubernetes权威指南二——Pod的扩缩容

一、Pod的升级和回滚

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx33
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx33
    spec:
      containers:
      - name: nginx33
        image: nginx:1.7.9
        ports:
        - containerPort: 80

第一种升级的方法:  set  image

[root@master01 roll]# kubectl set image deployment/nginx-deployment nginx33=nginx:1.9.1
deployment.apps/nginx-deployment image updated

第二种方法:  edit

[root@master01 roll]# kubectl edit deployment/nginx-deployment
deployment.apps/nginx-deployment edited

查看更新状态:

[root@master01 roll]# kubectl rollout status deployment/nginx-deployment
deployment "nginx-deployment" successfully rolled out

Deployment更新Pod的过程:

开始创建Deployment的时候,系统创建了一个ReplicaSet,并按需求创建了3个Pod副本,更新Deployment的时候,系统创建了一个新的ReplicaSet,将旧的ReplicaSet缩减为2,之后对两个旧的一次缩减,最后成为0,

二、 Deployment回滚

回滚到稳定版本之前,首先,用kubectl  rollout  history 命令检查这个Deployment部署的历史记录

[root@master01 roll]# kubectl rollout history deployment/nginx-deployment
deployment.apps/nginx-deployment 
REVISION  CHANGE-CAUSE
1         <none>
3         <none>
4         <none>

在创建Deployment时候使用 --record参数,就可以在CHANGE-CAUSE列看到每个版本使用的命令了。

[root@master01 roll]# kubectl rollout history deployment/nginx-deployment --revision=3
deployment.apps/nginx-deployment with revision #3
Pod Template:
  Labels:    app=nginx33
    pod-template-hash=67d9cdc5f5
  Containers:
   nginx33:
    Image:    nginx:1.7.1
    Port:    80/TCP
    Host Port:    0/TCP
    Environment:    <none>
    Mounts:    <none>
  Volumes:    <none>

回滚到上一个版本:

[root@master01 roll]# kubectl rollout undo deployment/nginx-deployment
deployment.apps/nginx-deployment rolled back

回滚到指定的版本:

[root@master01 roll]# kubectl rollout undo deployment/nginx-deployment --to-revision=4
deployment.apps/nginx-deployment rolled back

三、Pod的扩缩容

3.1手动缩容

[root@master01 roll]# kubectl scale deployment nginx-deployment --replicas 5
deployment.apps/nginx-deployment scaled

3.2自动扩缩容机制

HPA  (Horizontal  Pod  Autoscaler)

 

posted @ 2023-04-29 21:46  中仕  阅读(67)  评论(0)    收藏  举报