クラスターで実行されているティラーのインスタンスを破棄したい。 本当に、耕うん機を再配備したいです。 ただし、耕うん機は消えません。 どうすれば分げつを取り除くことができますか?
今までやってきたこと……
kubectlコマンドを使用します。
kubectl -n "kube-system"削除展開tiller-deploy
kubectl -n "kube-system" delete service tiller-deploy
結果:耕うん機ポッドはそれ自体を再現します
ヘルムコマンドを使用します。
ヘルムリセット
結果:クラスターの問題が原因で失敗します。 これが私が分げつを破壊して最初からやり直したい理由です。
注:ティラーはデーモンセットとして実行されています
どうしてそうなった? :)
helm init
は、レプリカセット/ポッドをデプロイするデプロイメントとしてティラーをデプロイします。 したがって、 helm init
を使用して展開されたと仮定すると、 kubectl -n "kube-system" delete deployment tiller-deploy
がクラスターからティラーを削除する方法になります。
何らかの理由でデーモンセットとして実行されている場合は、 kubectl -n kube-system get daemonsets
を使用してデーモンセットの名前を見つけ、その名前を削除する必要があります。
また、どのクラウドプロバイダーを使用していますか? 特定のインスタンス(ACSなど)では、ティラーがアドオンマネージャーを介してデプロイされていることを知っていますが、これはバグとして現れました。 その背景については、 https://github.com/Azure/ACS/issues/55を参照して
acs-engineを介してACSにデプロイしました。 https://github.com/Azure/ACS/issues/55で問題が説明されています。
最も参考になるコメント
どうしてそうなった? :)
helm init
は、レプリカセット/ポッドをデプロイするデプロイメントとしてティラーをデプロイします。 したがって、helm init
を使用して展開されたと仮定すると、kubectl -n "kube-system" delete deployment tiller-deploy
がクラスターからティラーを削除する方法になります。何らかの理由でデーモンセットとして実行されている場合は、
kubectl -n kube-system get daemonsets
を使用してデーモンセットの名前を見つけ、その名前を削除する必要があります。