Kubernetes 动态更新应用

2018-11-20  本文已影响5人  SlowGO

Kubernetes 支持无缝升级。

查看正在运行的 pod :

$ kubectl get pods

NAME                                   READY     STATUS    RESTARTS   AGE
kubernetes-bootcamp-5c69669756-8v5nx   0/1       Pending   0          6s
kubernetes-bootcamp-5c69669756-cjfvn   0/1       Pending   0          6s
kubernetes-bootcamp-5c69669756-shcr9   0/1       Pending   0          6s
kubernetes-bootcamp-5c69669756-wwrh7   0/1       Pending   0          6s

查看当前 pod 中运行的 image 的版本:

$ kubectl describe pods
// 返回结果中有容器信息

把 image 版本更新到 v2:

$ kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

这个命令通知 deployment 使用不同的 image,并初始化动态更新任务。

查看新 pod:

$ kubectl get pods

NAME                                   READY     STATUS    RESTARTS   AGE
kubernetes-bootcamp-7799cbcb86-2b7sz   1/1       Running   0          47s
kubernetes-bootcamp-7799cbcb86-76bcb   1/1       Running   0          49s
kubernetes-bootcamp-7799cbcb86-7p42l   1/1       Running   0          47s
kubernetes-bootcamp-7799cbcb86-h6jbz   1/1       Running   0          49s

可以看到 pod 已经都变了。

查看更新状态:

$ kubectl rollout status deployments/kubernetes-bootcamp

deployment "kubernetes-bootcamp" successfully rolled out

查看 pod 详情,看其中的容器信息是否已经变为新版 image:

$ kubectl describe pods

如果错线错误,可以回滚:

$ kubectl rollout undo deployments/kubernetes-bootcamp
上一篇下一篇

猜你喜欢

热点阅读