【问题标题】:Is `helm reset --force` meant to be executed once per physical host or once per cluster?`helm reset --force` 是每个物理主机执行一次还是每个集群执行一次?
【发布时间】:2019-09-27 11:52:08
【问题描述】:

从这个问题How to uninstall / remove tiller from Kubernetes manually?我知道我可以使用

helm reset --force

引用https://helm.sh/docs/helm/#helm-reset ...

从您的 Kubernetes 集群中卸载 Tiller(Helm 服务器端组件),并可选择删除 $HELM-HOME 中的本地配置(默认为 ~/.helm/)

我的问题是:

在多节点集群中,应该每个主节点运行一次还是每个集群运行一次?

【问题讨论】:

    标签: kubernetes kubernetes-helm helmfile


    【解决方案1】:

    每个集群一次就足够了,因为 tiller 是一个集群范围的组件,完全在 kubernetes 上运行,而不是绑定到特定节点。

    此外,您不需要在节点本身上运行此命令 - 只要您可以与 kube-apiserver 通信,您也可以在本地运行它。这就是“本地配置文件(~/.helm.)”的意思。

    【讨论】:

    • 谢谢。因此,在多主集群中,通常会在每个节点上安装 helm 二进制文件,然后在卸载清理时每个集群一次通过例如/usr/local/bin/helm reset --force && kubectl delete serviceaccount --namespace kube-system tiller && kubectl delete clusterrolebinding tiller-cluster-rule每个主机一次 用于删除已安装的文件,例如 /usr/local/bin/helm 和 ~/.helm 等。
    • 您根本不需要将 helm 二进制文件安装到节点上。您只能在本地拥有它。节点不需要它。您可以在本地机器上进行重置,同时以集群为目标(您的 kubeconfig 文件中的 context 应该寻找您的集群)。与集群角色和绑定相同——所有这些(掌舵资源、集群角色和绑定)都存在于集群中,它们与节点无关。您只删除它们一次。事实上,通常情况下,一旦集群建立起来,你就不会在节点上或“每个节点”上做任何事情。
    • 谢谢 Utku。是的,我知道 helm 客户端可以在任何地方运行。我可能应该澄清我正在使用 ansible 来运行 helm 二进制文件,并且它正在主机本身上执行,但是在运行 kubectl 命令时它可能会遇到不同的主机。我没有在我的 ansible 客户端(例如我的笔记本电脑)上安装 helm ,而是考虑在主机上安装 helm(或者更具体地说,在所有主机上安装,以防以后我通过 ansible 卸载其中一个主机时没有更远可达)。希望这不是一种疯狂的方法:-)
    • @k1eran 这完全是一种很好的方法,事实上,我自己也做同样的事情(ansible,将 helm 二进制文件安装到节点本身)。因此,在这种情况下,您仍然可以仅从一个 master 运行 helm resetkubectl delete 命令 - 所有涉及 helmkubectl 的命令都在 kubernetes 上运行并且是集群范围的操作 - 不需要针对每个节点进行。
    猜你喜欢
    • 2013-01-23
    • 1970-01-01
    • 2011-02-13
    • 2022-01-07
    • 1970-01-01
    • 2012-09-09
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多