我有一个部署(starterservice),它部署具有持久卷声明的单个 Pod。这有效。但是重启失败:
kubectl rollout restart deploy starterservice
Run Code Online (Sandbox Code Playgroud)
新 pod 在旧 pod 终止之前启动,并且无法附加卷(卷“pvc-...”的多重附加错误)。我可以通过缩放到 0 然后返回到 1 来解决这个问题:
kubectl scale --replicas=0 deployment/starterservice
kubectl scale --replicas=1 deployment/starterservice
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以kubectl rollout restart在启动新 Pod 之前等待旧 Pod 终止?德克萨斯州。
您需要设置部署策略=重新创建。
spec:
strategy:
type: Recreate
Run Code Online (Sandbox Code Playgroud)
Recreate该策略与RollingUpdate(默认)策略之间的区别在于,Recreate将在创建新 Pod 之前终止旧 Pod,而RollingUpdate在终止旧 Pod 之前创建新 Pod。
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#recreate-deployment
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |