kubernetes 无法删除崩溃pod

7vux5j2d  于 2023-04-05  发布在  Kubernetes
关注(0)|答案(1)|浏览(260)

我在kubernetes中遇到了一个问题。我有一个部署,在replicaset中我们给了值2。更新我的版本后,它显示了3个副本。其中2个运行正常,但一个在CrashLoopBackOff中。我试图删除它,但它再次出现相同的错误。
po中有2个容器在运行,其中一个容器可以登录,但无法登录nginx缓存容器

deployment-5bd9ff7f9d      1/2     CrashLoopBackOff   297 (2m19s ago)   24h  (this is the error)
deployment-ffbf89fcd       2/2     Running            0                 36d
deployment-ffbf89fcd       2/2     Running            0                 36d

Kubectl describe pod

Warning  Failed     44m (x4 over 44m)      kubelet            Error: failed to create containerd task: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: process_linux.go:508: setting cgroup config for procHooks process caused: failed to write "107374182400000": write /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/podc22d1a88-befe-4680-8eec-2ad69a4cc890/nginx-cache/cpu.cfs_quota_us: invalid argument: unknown
Normal   Pulled     43m (x5 over 44m)      kubelet            Container image "abcd2.azurecr.io/ab_cde/nginx-cache:0.2-ROOT" already present on machine

如何消除这个错误

wfveoks0

wfveoks01#

从您的 get pods 可以看出,处于CrashLoopBackOff状态的Deployment的hash值与其他2个不同;看起来它是由与其他2个不同的ReplicaSet处理的。
pod-template-hash标签由Deployment控制器添加到Deployment创建或采用的每个ReplicaSet。
此标签确保Deployment的子ReplicaSet不重叠。它是通过对ReplicaSet的PodTemplate进行散列,并使用所得散列作为添加到ReplicaSet选择器、Pod模板标签以及ReplicaSet可能具有的任何现有Pod中的标签值而生成的。
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#pod-template-hash-label
尝试运行kubectl -n YOUR-NAMESPACE get replicasets;如果找到2,则删除与出现错误的Pod对应的Pod。

相关问题