微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

k8s用kubectl管理应用升级,服务发布与回滚,扩缩容

应用升级

Kubectl set image --help 有案例指定新版本

[root@k8s-master ~]# kubectl set image deployment/Nginx Nginx=Nginx:1.11

升级之后他会将所有版本进行替换,用describe来查看版本

[root@k8s-master ~]# kubectl get pods

NAME                       READY     STATUS    RESTARTS   AGE

busyBox-5d4f595646-dzjv4   1/1       Running   0          2d

Nginx-76c4c6d6d8-5w825     1/1       Running   0          2m

Nginx-76c4c6d6d8-bh2sm     1/1       Running   0          2m

Nginx-76c4c6d6d8-cwhw5     1/1       Running   0          1m

 

用describe来查看版本,看到版本已经升级为1.11版本了,另外下面还有他的输出信息

[root@k8s-master ~]# kubectl describe po/Nginx-76c4c6d6d8-cwhw5

 Nginx:

    Container ID:   docker://ca046dd27d86bc10f330131be7ba5b91b14cb555c5d9677bb23f481e4e69aa67

    Image:          Nginx:1.11

 

第二种修改应用版本===可以使用edit

直接进行编辑就行

[root@k8s-master ~]# kubectl edit deploy/Nginx

找到image直接修改进行保存,升级之后他会将所有版本进行替换,用describe来查看版本

 

等启动之后查看pod重启新的镜像已经运行了

[root@k8s-master ~]# kubectl get pods

NAME                       READY     STATUS    RESTARTS   AGE

busyBox-5d4f595646-dzjv4   1/1       Running   0          2d

Nginx-7454cd89d8-fpncj     1/1       Running   0          5m

Nginx-7454cd89d8-gdz8c     1/1       Running   0          4m

Nginx-7454cd89d8-tlngj     1/1       Running   0          5m

用describe查看Pod镜像信息

[root@k8s-master ~]# kubectl describe po/Nginx-7454cd89d8-tlngj

Nginx:

    Container ID:   docker://6768df2391defe44097e3ce2a857529ec614d49962181c1cf541c1bbc6dbce08

Image:          Nginx:1.15

 

用node端直接访问查看版本

[root@k8s-node1 ~]# curl -I 10.10.10.173:88

HTTP/1.1 200 OK

Server: Nginx/1.15.12

Date: Mon, 08 Jul 2019 04:23:42 GMT

 

查看版本升级信息

[root@k8s-master ~]# kubectl rollout history deploy/Nginx

deployments "Nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

3         <none>

记录版本信息状态,便于回滚

[root@k8s-master ~]# kubectl set image deployment/Nginx Nginx=Nginx:1.16 --record

[root@k8s-master ~]# kubectl rollout history deploy/Nginx

deployments "Nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

3         <none>

4         kubectl set image deployment/Nginx Nginx=Nginx:1.16 --record=true

进行回滚用rollout undo,认恢复到上一个版本也就是1.15

[root@k8s-master ~]# kubectl rollout undo deploy/Nginx

认少一个3,也就是回到上次第三次版本了

[root@k8s-master ~]# kubectl rollout history deploy/Nginx

deployments "Nginx"

REVISION  CHANGE-CAUSE

1         <none>

2         <none>

4         kubectl set image deployment/Nginx Nginx=Nginx:1.16 --record=true

5         <none>

[root@k8s-master ~]# kubectl describe po/Nginx-7454cd89d8-txjpm

Containers:

  Nginx:

    Container ID:   docker://f17b88c301d61b8c75a46cba84d97c285f5d61886c081b3cfc9c0668e5cbf4e3

    Image:          Nginx:1.15

 

业务量突然增加,我们需要增加副本

[root@k8s-master ~]# kubectl scale deploy/Nginx --replicas=10

deployment "Nginx" scaled

[root@k8s-master ~]# kubectl get pod

NAME                       READY     STATUS    RESTARTS   AGE

busyBox-5d4f595646-dzjv4   1/1       Running   0          2d

Nginx-7454cd89d8-4cct8     1/1       Running   0          19s

Nginx-7454cd89d8-75tvg     1/1       Running   0          7m

Nginx-7454cd89d8-7v5qp     1/1       Running   0          1m

Nginx-7454cd89d8-dtsgq     1/1       Running   0          19s

Nginx-7454cd89d8-hjcpw     1/1       Running   0          7m

Nginx-7454cd89d8-mhhww     1/1       Running   0          19s

Nginx-7454cd89d8-txjpm     1/1       Running   0          7m

Nginx-7454cd89d8-vkmjn     1/1       Running   0          19s

Nginx-7454cd89d8-z8dbn     1/1       Running   0          19s

Nginx-7454cd89d8-zn8pm     1/1       Running   0          1m

 

业务量下降我们进行缩容

[root@k8s-master ~]# kubectl scale deploy/Nginx --replicas=5

[root@k8s-master ~]# kubectl get pod

NAME                       READY     STATUS    RESTARTS   AGE

busyBox-5d4f595646-dzjv4   1/1       Running   0          2d

Nginx-7454cd89d8-75tvg     1/1       Running   0          8m

Nginx-7454cd89d8-7v5qp     1/1       Running   0          3m

Nginx-7454cd89d8-hjcpw     1/1       Running   0          8m

Nginx-7454cd89d8-txjpm     1/1       Running   0          8m

Nginx-7454cd89d8-zn8pm     1/1       Running   0          3m

要是不需要这些资源或者换项目了

直接用delete=======删除deploy还有service

[root@k8s-master ~]# kubectl delete deploy/Nginx

deployment "Nginx" deleted

[root@k8s-master ~]# kubectl delete svc/Nginx-service

查看资源已经删除

[root@k8s-master ~]# kubectl get all

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐