60
votes

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?

6
Could you please set Nickolay's answer as accepted?AFP_555

6 Answers

87
votes

To uninstall tiller from a kubernetes cluster:

helm reset

To delete failed tiller from a kubernetes cluster:

helm reset --force
32
votes

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
8
votes

You have to uninstall 3 things to completely get rid of tiller:

  1. Deployment
  2. Service
  3. 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.

2
votes

You can also try below command

kubectl delete deployment tiller-deploy --namespace kube-system
1
votes

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.

0
votes

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.