kind: CRD is hanging while deleting with "foregroundDeletion" policy
What happened:
I’m running a CRD controller. On the deployment of the CRD, the controller creates a set of k8s services, statefulset, role, rolebinding etc. The operator also sets the ownerReference (CRD) with ownerReference.blockOwnerDeletion=true of those objects.
Now, when I delete the CRD with foregroudDeletion policy.
CRD is hanging, I checked the dependent objects, the deletionTimestamp and finalizer are set. But somehow the garbage collector isn’t cleaning up those.
- apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2020-07-28T04:22:13Z"
deletionGracePeriodSeconds: 0
deletionTimestamp: "2020-07-28T04:23:21Z"
finalizers:
- foregroundDeletion
What you expected to happen:
The created services, statefulset, role, rolebinding etc. will be deleted first, and once all those are deleted by the garbage collector the CRD is removed.
Anything else we need to know?:
Also, when I described the services, I encountered warning like below:
Warning ClusterIPNotAllocated 90s (x3 over 19m) ipallocator-repair-controller Cluster IP 10.102.62.89 is not allocated; repairing
Warning FailedToUpdateEndpointSlices 18m endpoint-slice-controller Error updating Endpoint Slices for Service demo/topology-es-master: Error updating topology-es-master-xwwdt EndpointSlice for Service demo/topology-es-master: endpointslices.discovery.k8s.io "topology-es-master-xwwdt" not found
Environment:
$ kind version
kind v0.8.1 go1.14.2 linux/amd64
$ kubectl version --short
Client Version: v1.18.3
Server Version: v1.18.2
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 18 (10 by maintainers)
Btw … switching back to 1.17.x with Kind works as well.
I don’t think there’s a good workaround, there’s a fix in progress upstream. I’ve commented there.