如何从kubernetes集群中删除分蘖

Bil*_*ill 48 kubernetes kubernetes-helm

Tiller在我的kubernetes集群中无法正常工作.我想删除一切Tiller.Tiller(2.5.1)有1个部署,1个ReplicaSet和1个Pod.

我试过:kubectl删除部署tiller-deploy -n kube-system

  • 导致"部署"分蘖 - 部署"删除"
  • 但是,立即重新创建分蘖部署
  • kubectl get deployments -n kube-system显示tiller-deploy再次运行

我也尝试过:kubectl delete rs tiller-deploy-393110584 -n kube-system

  • 结果"replicaset"tiller-deploy-2745651589"已删除"
  • 但是,tiller-deploy-2745651589会立即重新创建
  • kubectl得到rs -n kube-system显示tiller-deploy-2745651589再次运行

永久删除Tiller的正确方法是什么?

Nic*_*lay 78

要从kubernetes集群卸载分蘖:

helm reset
Run Code Online (Sandbox Code Playgroud)

要从kubernetes集群中删除失败的分蘖:

helm reset --force
Run Code Online (Sandbox Code Playgroud)


Ful*_*vio 13

如果要以最干净的方式从群集中删除 till,方法是删除在安装过程中部署的所有组件。

如果您已经知道将名称分配到的名称空间,请执行以下操作:

$ 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
Run Code Online (Sandbox Code Playgroud)

注意该命令,将删除指定名称空间中的所有名称并带有相应的标签。

其中app其在标签分配和将识别所有组分(复制控制器,部署,服务等)。

您可以描述广告连播以验证标签:

$ 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
Run Code Online (Sandbox Code Playgroud)


小智 6

您必须卸载3件事才能完全摆脱分till:

  1. 部署方式
  2. 服务
  3. 秘密
    kubectl delete deployment -n some-namespace tiller-deploy 
    kubectl delete svc -n some-namespace tiller-deploy 
    kubectl delete secret -n some-namespace tiller-secret
Run Code Online (Sandbox Code Playgroud)

如果启用了TLS,请确保备份机密,因为该机密会存储所有证书。