how to delete tiller from kubernetes cluster
KubernetesKubernetes HelmKubernetes Problem Overview
Tiller is not working properly in my kubernetes cluster. I want to delete everything Tiller. Tiller (2.5.1) has 1 Deployment, 1 ReplicaSet and 1 Pod.
I tried: kubectl delete deployment tiller-deploy -n kube-system
- results in "deployment "tiller-deploy" deleted"
- however, tiller-deploy is immediately recreated
- kubectl get deployments -n kube-system shows tiller-deploy running again
I also tried: kubectl delete rs tiller-deploy-393110584 -n kube-system
- results in "replicaset "tiller-deploy-2745651589" deleted"
- however, tiller-deploy-2745651589 is immediately recreated
- kubectl get rs -n kube-system shows tiller-deploy-2745651589 running again
What is the correct way to permanently delete Tiller?
Kubernetes Solutions
Solution 1 - Kubernetes
To uninstall tiller from a kubernetes cluster:
helm reset
To delete failed tiller from a kubernetes cluster:
helm reset --force
Solution 2 - Kubernetes
If you want to remove tiller from your cluster the cleanest way it's by removing all the components deployed during the installation.
If you already know the namespace where tiller its deployed:
$ kubectl delete all -l app=helm -n kube-system
pod "tiller-deploy-8557598fbc-5b2g7" deleted
service "tiller-deploy" deleted
deployment.apps "tiller-deploy" deleted
replicaset.apps "tiller-deploy-75f6c87b87" deleted
replicaset.apps "tiller-deploy-8557598fbc" deleted
> Be careful with the command, will delete all in the namespace indicated and > with the corresponding label.
where app
its the label assigned and will identify all component(replication controller, deployments, service, etc).
You can describe the pod to verify the labels:
$ kubectl describes pod tiller-deploy-8557598fbc-5b2g7 -n kube-system
Name: tiller-deploy-8557598fbc-5b2g7
Namespace: kube-system
Priority: 0
PriorityClassName: <none>
Node: srvlpi03 / 192.168.1.133
Start Time: Tue, 20 Aug 2019 15:51:03 -0400
Labels: app = helm
name = tiller
pod-template-hash = 8557598fbc
Solution 3 - Kubernetes
You have to uninstall 3 things to completely get rid of tiller:
- Deployment
- Service
- Secret
kubectl delete deployment -n some-namespace tiller-deploy
kubectl delete svc -n some-namespace tiller-deploy
kubectl delete secret -n some-namespace tiller-secret
Be sure to backup the secret as it store all the certificates if TLS is enabled.
Solution 4 - Kubernetes
You can also try below command
kubectl delete deployment tiller-deploy --namespace kube-system
Solution 5 - Kubernetes
Turns out that it was running as replicaset:
kubectl delete replicasets -n kube-system tiller-deploy-6fdb84698b
worked for me
helm reset --force
didn't remove the tiller.
Solution 6 - Kubernetes
Kubectl get hpa --all-namespaces( OR -n kube-system)
In normal tiller deployment, they use replica set. For your set up there might be a HorizontalPodAutoscaler object which is targeting the replica sets for tiller.
You can delete the HPA first and then delete the associated replicasets, pods, configmaps OR you can reset helm using "helm reset" command.