gpt4 book ai didi

kubernetes - 更新使用 ReadWriteOnce 卷的部署将在装载时失败

转载 作者:行者123 更新时间:2023-12-02 11:35:36 25 4
gpt4 key购买 nike

我的部署使用了几个卷,所有卷都定义为 ReadWriteOnce

将部署应用于干净的集群时,pod 已成功创建。

但是,如果我更新我的部署(即更新容器镜像),当为我的部署创建一个新的 pod 时,它总是会在卷挂载时失败:

/Mugen$ kubectl get pods
NAME READY STATUS RESTARTS AGE
my-app-556c8d646b-4s2kg 5/5 Running 1 2d
my-app-6dbbd99cc4-h442r 0/5 ContainerCreating 0 39m

/Mugen$ kubectl describe pod my-app-6dbbd99cc4-h442r
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 9m default-scheduler Successfully assigned my-app-6dbbd99cc4-h442r to gke-my-test-default-pool-671c9db5-k71l
Warning FailedAttachVolume 9m attachdetach-controller Multi-Attach error for volume "pvc-b57e8a7f-1ca9-11e9-ae03-42010a8400a8" Volume is already used by pod(s) my-app-556c8d646b-4s2kg
Normal SuccessfulMountVolume 9m kubelet, gke-my-test-default-pool-671c9db5-k71l MountVolume.SetUp succeeded for volume "default-token-ksrbf"
Normal SuccessfulAttachVolume 9m attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-2cc1955a-1cb2-11e9-ae03-42010a8400a8"
Normal SuccessfulAttachVolume 9m attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-2c8dae3e-1cb2-11e9-ae03-42010a8400a8"
Normal SuccessfulMountVolume 9m kubelet, gke-my-test-default-pool-671c9db5-k71l MountVolume.SetUp succeeded for volume "pvc-2cc1955a-1cb2-11e9-ae03-42010a8400a8"
Normal SuccessfulMountVolume 9m kubelet, gke-my-test-default-pool-671c9db5-k71l MountVolume.SetUp succeeded for volume "pvc-2c8dae3e-1cb2-11e9-ae03-42010a8400a8"
Warning FailedMount 52s (x4 over 7m) kubelet, gke-my-test-default-pool-671c9db5-k71l Unable to mount volumes for pod "my-app-6dbbd99cc4-h442r_default(affe75e0-1edd-11e9-bb45-42010a840094)": timeout expired waiting for volumes to attach or mount for pod "default"/"my-app-6dbbd99cc4-h442r". list of unmounted volumes=[...]. list of unattached volumes=[...]

那么将更改应用于此类部署的最佳策略是什么?为了使用相同的持久性卷,是否必须有一些服务中断? (我不想创建新卷 - 数据应该维护)

最佳答案

由于访问模式的原因,您将需要容忍这里的中断。这将在创建新 Pod 之前删除现有 Pod(卸载卷)。

“重新创建”的部署策略 - .spec.strategy.type - 将有助于实现这一点: https://github.com/ContainerSolutions/k8s-deployment-strategies/blob/master/recreate/README.md

关于kubernetes - 更新使用 ReadWriteOnce 卷的部署将在装载时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com