一、Scale应用
默认请款下应用只会运行一个副本,可通过kubectl get deployments 查看副本数。
~$ kubectl get deploymentsNAME ?????????????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEblogtest ?????????????1 ????????1 ????????1 ???????????1 ??????????3dkubernetes-bootcamp ??1 ????????1 ????????1 ???????????1 ??????????3d
1、使用scale增加pod数量
执行如下命令,可将副本数增加到3个。
~$ kubectl scale deployments/blogtest --replicas=3deployment.extensions "blogtest" scaled
通过kubectl get pods 可以看到当前的Pod增加到了三个。
~$ kubectl get deploymentNAME ?????????????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEblogtest ?????????????3 ????????3 ????????3 ???????????1 ??????????3dkubernetes-bootcamp ??1 ????????1 ????????1 ???????????1 ??????????3d~$ kubectl get podsNAME ?????????????????????????????????READY ????STATUS ?????????????RESTARTS ??AGEblogtest-7f9798c5b5-drvl8 ????????????0/1 ??????ContainerCreating ??0 ?????????8sblogtest-7f9798c5b5-gwkm9 ????????????1/1 ??????Running ????????????0 ?????????3dblogtest-7f9798c5b5-snppq ????????????0/1 ??????ContainerCreating ??0 ?????????8skubernetes-bootcamp-56cdd766d-5nj9n ??1/1 ??????Running ????????????0 ?????????3d
每次请求发送到不同的Pod,3个副本轮询处理请求,这样就可以实现负载均衡了。
2、使用scale减少Pod数量
~$ kubectl scale deployments/blogtest --replicas=2deployment.extensions "blogtest" scaled
二、滚动更新
1、滚动更新
当前使用版本为v1,使用以下命令将其升级到v2.
~$ curl galaxy-k8s-test-master-02:17812Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-56cdd766d-5nj9n | v=1~$ kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2deployment.apps "kubernetes-bootcamp" image updated~$ curl galaxy-k8s-test-master-02:17812Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-7799cbcb86-7dnzp | v=2
滚动更新过程:v1的Pod被逐个删除,同时启动了新的v2 Pod。
2、回退更新
如果要回退到v1版本,执行kubectl rollout undo 命令。
~$ kubectl get podsNAME ??????????????????????????????????READY ????STATUS ???????RESTARTS ??AGEblogtest-7f9798c5b5-gwkm9 ?????????????1/1 ??????Running ??????0 ?????????3dblogtest-7f9798c5b5-snppq ?????????????1/1 ??????Running ??????0 ?????????48mkubernetes-bootcamp-56cdd766d-7skbz ???1/1 ??????Terminating ??0 ?????????1mkubernetes-bootcamp-7799cbcb86-bpnpp ??1/1 ??????Running ??????0 ?????????22s~$ curl galaxy-k8s-test-master-02:17812Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-7799cbcb86-bpnpp | v=2~$ kubectl rollout undo deployments/kubernetes-bootcampdeployment.apps "kubernetes-bootcamp" ~$ kubectl get podsNAME ??????????????????????????????????READY ????STATUS ???????RESTARTS ??AGEblogtest-7f9798c5b5-gwkm9 ?????????????1/1 ??????Running ??????0 ?????????3dblogtest-7f9798c5b5-snppq ?????????????1/1 ??????Running ??????0 ?????????49mkubernetes-bootcamp-56cdd766d-jjzqm ???1/1 ??????Running ??????0 ?????????13skubernetes-bootcamp-7799cbcb86-bpnpp ??1/1 ??????Terminating ??0 ?????????57s~$ curl galaxy-k8s-test-master-02:17812Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-56cdd766d-jjzqm | v=1
kubernetes学习(一) Scale应用 & 滚动更新
原文地址:https://www.cnblogs.com/Lyh1997/p/10230402.html