<p>I can't run any helm command without an error saying my user is forbidden. My user is forbidden to the kube-system and the default namespace.</p>

<p>Running something like this: <code>kubectl create serviceaccount --namespace kube-system tiller</code>
 results in this error:</p>

<p><code>Error from server (Forbidden): serviceaccounts is forbidden: User "{my-user}" cannot create resource "serviceaccounts" in API group "" in the namespace "kube-system"</code></p>

<p>Running this: <code>kubectl get serviceaccount [-n kube-system]</code> results in this error:</p>

<p><code>Error from server (Forbidden): serviceaccounts "[-n" is forbidden: User "cn188854" cannot get resource "serviceaccounts" in API group "" in the namespace "default"
Error from server (Forbidden): serviceaccounts "kube-system]" is forbidden: User "cn188854" cannot get resource "serviceaccounts" in API group "" in the namespace "default"</code></p>

<p>Running this: <code>helm list</code> results in this error:</p>

<p><code>Error: pods is forbidden: User "{my-user}" cannot list resource "pods" in API group "" in the namespace "kube-system"</code></p>

<p>I'm guessing my user doesn't have access to the kube-system namespace, but I wouldn't see why not and I don't know how to give myself access to that namespace. I've reviewed several other posts and questions (such as <a href="https://stackoverflow.com/questions/55457589/helm-ls-error-configmaps-is-forbidden-user-systemserviceaccountkube-system">this one on stackoverflow</a> and <a href="https://github.com/helm/helm/issues/5100" rel="nofollow noreferrer">this one on github</a>). But I can't attempt any of their solutions because I always get a forbidden user on the helm command.</p>

<p>I'd appreciate any help, and would really appreciate some explanations as to why my user wouldn't have access at all like this.</p>

ineedtoknow
<p>After a lot of research and asking around, I've discovered that my user literally doesn't have access to the default or the <code>kube-system namespaces</code> in the cluster. I have to specify the cluster in which I have access.
Access depends on how the cluster you are using is set-up. (My group cluster was set-up this way for security.)</p>

<p>So if anyone else is experiencing this problem, check what cluster you're using and what permissions you have. If you need to specify the <code>namespace</code>, like I do, you can add this argument to your command: <code>-n={name-of-namespace-you're-using}</code></p>

<p>For example, I can't run <code>kubectl get pods</code> because I don't have access to the <code>default namespace</code>. But if I specify a <code>namespace</code> I do have access to, like this: <code>kubectl get pods -n={name-of-namespace}</code>, then I'll be able to see my pods.</p>

<p>Sometimes you might also need to specify the <code>tiller</code>, usually with by adding an argument like this: <code>--tiller-namespace={name-of-tiller}</code> Make sure to check the options for the commands on <a href="https://helm.sh/docs/helm/#helm-commands" rel="nofollow noreferrer">helm docs</a>, or on the <a href="https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands" rel="nofollow noreferrer">kubectl doc</a> so you'll know what arguments to use.</p>
