如何使用持久卷声明重新启动Kubernetes部署



我有一个部署(starterservice(,它部署了一个具有持久卷声明的单个pod。这是有效的。但是重新启动失败:

kubectl rollout restart deploy starterservice

新的pod在旧的pod终止之前启动,它无法连接卷(卷"pvc-…"的多重连接错误(。我可以通过缩放到零然后返回到1来解决这个问题:

kubectl scale --replicas=0 deployment/starterservice
kubectl scale --replicas=1 deployment/starterservice

我想知道是否有办法让kubectl rollout restart在开始新的pod之前等待旧pod终止?Tx.

您需要设置部署策略=重新创建。

spec:
strategy:
type: Recreate

RollingUpdate(默认(相比,Recreate策略的不同之处在于,Recreate将在创建新pod之前终止旧pod,而RollingUpdate将在终止旧pod之前创建新pod。

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#recreate-部署

最新更新