Kubernetes不会删除已删除部署中的Pod

ef1yzkbh  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(7)|浏览(161)

我们在AWS上运行Kubernetes集群。
当我尝试删除Deployment时-副本集也会被删除-但Pod仍保留,不会被删除。
当我重新部署时,我会得到一个新的部署,新的副本集和一个新的pod(所以现在有2个可用的...)

apiVersion: v1
kind: Service
metadata:
  name: helloworld
  labels:
    app: helloworld
spec:
  ports:
    - 
      port: 80
      targetPort: 10000
  selector:
    service: helloworld
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: helloworld
spec:
  replicas: 1
  revisionHistoryLimit: 0
  selector:
    matchLabels:
      service: helloworld
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        service: helloworld
    spec:
      containers:
      - 
        name: helloworld
        image: 'my.service.io/service/helloworld:latest'
        imagePullPolicy: Always
        ports:
        - containerPort: 10000
        command:
        - node
        args:
        - "app.js"
      imagePullSecrets:
      - name: my-screts
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

字符串
为什么在删除部署集和副本集时未删除pod?

kknvjkwl

kknvjkwl1#

是否可能pod未部署在Deployment对象中?你是不是碰巧手动部署了这个分离舱如果是这种情况,则在删除展开时不会将其删除。您能否尝试手动删除Pod并查看问题是否仍然存在?

wr98u20j

wr98u20j2#

您可能需要强制删除pod。运行命令
第一个月

gblwokeq

gblwokeq3#

取决于使用- cascade [= true]时是否删除

kubectl delete -f deploy  --cascade false

字符串

to94eoyn

to94eoyn4#

我有同样的问题,可以通过手动删除它们来解决,如下所示:
1.获取部署

kubectl get deployments

字符串

  • 删除部署
kubectl delete deployments [NameOfDeployment]

  • 获取复制控制器
kubectl get rc

  • 删除复制控制器
kubectl delete deployments [NameOfrc]


删除复制控制器/复制集后,您可以手动删除Pod和服务,与deployment或rc相同。

tzdcorbm

tzdcorbm5#

terminationGracePeriodSeconds: 30表示删除部署后,Pod将在列表中保留30秒。它将具有status: Terminating
您确定为Pod正常终止给予了足够的时间吗?
您也可以将部署缩减为0个副本(replicas: 0),然后将其删除。

nmpmafwu

nmpmafwu6#

在k8s v1.7和更高版本中,此错误得到解决,删除操作被级联。
如果您遇到此问题,请考虑升级您的k8s版本。
Reference

vfwfrxfs

vfwfrxfs7#

您是否有使用相同选择器的其他部署/复制集?

相关问题