pod 删除后会自动重启个新 pod 怎么办?
这个问题通常是由于各种控制器导致的:
Deployment: 如果Pod是由Deployment管理的,那么Deployment的目的就是保持所需数量的Pod运行。检查Deployment的配置,并根据需要更新或删除Deployment。
ReplicaSet: 如果Pod是由ReplicaSet管理的,该ReplicaSet可能会检测到Pod已删除,并尝试重新创建它。检查相关的ReplicaSet定义,并根据需要调整副本数量或删除ReplicaSet。
DaemonSet: 如果Pod是由DaemonSet创建的,DaemonSet会确保这些Pod总是运行在集群中。如果不需要这样的Pod,删除DaemonSet或更新它的标签以不包括你想删除的Pod。
Horizontal Pod Autoscaler (HPA): 通常用于 Deployment;如果有HPA在运行,它可能会尝试维护所需的Pod副本数。检查HPA设置,并根据需要进行调整或删除。
解决:
shell
# 查询控制器资源
kubectl get deployments -n [namespace]
kubectl get replicasets -n [namespace]
kubectl get daemonsets -n [namespace]
kubectl get statefulsets -n [namespace]
# 删除pod对应的控制器
kubectl delete [controller] [controllerNAME] -n [namespace]