<p>I'm using Minikube to tinker with Helm.</p>

<p>I understand <a href="https://helm.sh/docs/install/#easy-in-cluster-installation" rel="nofollow noreferrer">Helm installs tiller in the <code>kube-system</code> namespace by default</a>:</p>

<blockquote>
  <p>The easiest way to install <code>tiller</code> into the cluster is simply to run
  <code>helm init</code>...
  Once it connects, it will install <code>tiller</code> into the <code>kube-system</code>
  namespace.</p>
</blockquote>

<p>But instead it's trying to install tiller in a namespace named after me:</p>

<pre>
$ ~/bin/minikube start
* minikube v1.4.0 on Ubuntu 18.04
* Tip: Use 'minikube start -p ' to create a new cluster, or 'minikube delete' to delete this one.
* Starting existing virtualbox VM for "minikube" ...
* Waiting for the host to be provisioned ...
* Preparing Kubernetes v1.16.0 on Docker 18.09.9 ...
* Relaunching Kubernetes using kubeadm ...
* Waiting for: apiserver proxy etcd scheduler controller dns
* Done! kubectl is now configured to use "minikube"
$ helm init
$HELM_HOME has been configured at /home/mcrenshaw/.helm.
<b>Error: error installing: namespaces "mcrenshaw" not found</b>
$
</pre>

<p>I can specify the tiller namespace, but then I have to specify it in every subsequent use of <code>helm</code>.</p>

<pre>
$ helm init <b>--tiller-namespace=kube-system</b>
$HELM_HOME has been configured at /home/mcrenshaw/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
$ helm upgrade --install some-thing .
Error: could not find tiller
$ helm upgrade --install some-thing . <b>--tiller-namespace=kube-system</b>
Release "some-thing" does not exist. Installing it now.
</pre>

<p>I <em>suppose</em> specifying the namespace in each command is fine. But it feels incorrect. Have I done something to corrupt my Helm config?</p>

<p><strong>Update:</strong></p>

<p>Per Eduardo's request, here's my helm version:</p>

<pre><code>$ helm version --tiller-namespace=kube-system
Client: &amp;version.Version{SemVer:"v2.15.0", GitCommit:"c2440264ca6c078a06e088a838b0476d2fc14750", GitTreeState:"clean"}
Server: &amp;version.Version{SemVer:"v2.15.0", GitCommit:"c2440264ca6c078a06e088a838b0476d2fc14750", GitTreeState:"clean"}
</code></pre>

crenshaw-dev
<p>There are two ways of setting the Tiller default namespace:</p>

<ol>
<li>Using the <code>--tiller-namespace</code> flag (as you are already using).</li>
<li>By setting the <code>$TILLER_NAMESPACE</code> environment variable.</li>
</ol>

<p>The flag configuration takes precedence over the environment config. You probably have this environment variable set (you can check with <code>printenv TILLER_NAMESPACE</code>). If so, <code>unset</code> it and the further <code>helm</code> commands should point properly to <code>kube-system</code> namespace.</p>
