Kubernetes Secret is persisting through deletes

1/24/2019

I'm trying to clean up some leftover data from a failed deployment of rabbitmq. As such, I have 3 secrets that were being used by rabbit services that never fully started. Whenever I try to delete these using kubectl delete secret they get recreated with a similar name instantly (even when using --force).

I do not see any services or pods that are using these secrets, so there shouldn't be any reason they are persisting.

Example of what happens when I delete: enter image description here

-- Marshall Tigerus
kubectl
kubernetes

1 Answer

1/24/2019

The reason they wouldn't delete is because they were associated with a service account.

I found this by looking at their yaml files, which mentioned they were for a service account.

I then ran

kubectl get serviceaccounts

which returned a list of accounts that had identical names. After running

kubectl delete serviceaccounts <accountName>

The secrets removed themselves.

However, if they do not, you can still get and delete them with

kubectl get secrets
kubectl delete secret <secret name>

If you do not see the item in question, you may want to append --all-namespaces to see "all" of them, as by default it looks at the top level of your kubernetes environment.

-- Marshall Tigerus
Source: StackOverflow