<p>You explained what each does pretty well! I strongly suggest reading the documentation, especially for the commands, don't rely on tutorials only.<a href="https://helm.sh/docs/helm/helm/" rel="nofollow noreferrer">helm commands</a> <code>helm repo add</code> =&gt; This is what it stands for, it adds a new helm chart repository. <code>helm repo update</code> =&gt; Update gets the latest information about charts from the respective chart repositories. When you initially start or want to use a chart you will use <code>add</code>, let us say 6 months have passed, the chart has bugs that are now fixed in the latest version, you then use <code>update</code> to get the latest version. And you can use different names, see example =&gt; <a href="https://helm.sh/docs/helm/helm_install/" rel="nofollow noreferrer">helm examples</a></p>
<p>So what you explained yourself is pretty good, really.</p>
<ol>
<li>You create a Kubernetes namespace.</li>
<li>You add a new repo for nginx.</li>
<li>Then you install that nginx repo in the new namespace you created in point (1). - otherwise, it will probably go in the default namespace. I always specify the namespace btw.</li>
</ol>
<p>One thing to note, when you add a repo, it gets added locally and from there it gets installed. So when you do installations, helm goes through your local packages that are stored/cached and it installs them where you point them to.</p>

CC BY-SA 4.0
2021-09-24T09:33:52.363Z
2021-09-24T09:33:52.363Z
Kristian Kanchev
<blockquote>
<p>In a simple words and correct me If I am wrong, kubectl create
namespace ingress-nginx -&gt; this creates a namespace called
ingress-nginx</p>
</blockquote>
<p>Correct !</p>
<blockquote>
<p>helm repo add ingress-nginx <a href="https://kubernetes.github.io/ingress-nginx" rel="nofollow noreferrer">https://kubernetes.github.io/ingress-nginx</a>
-&gt; This add a chart repository called ingress-nginx from the URL mentioned (Am I free to name it to something else!?)</p>
</blockquote>
<p>Correct too !
Yes, you can name it has you like, it's just the name that you'll use to refer to this repo url (e.g: in a requirement file)</p>
<blockquote>
<p>helm install ingress-nginx ingress-nginx/ingress-nginx -n
ingress-nginx -&gt; install the chart named ingress-nginx (first one) ,
in the namespace called ingress-nginx (last one), To be honest I can't
understand it will, can anyone explains it?</p>
</blockquote>
<p>Here, you tell to Helm &quot;Install from a chart named 'ingress-nginx', from the 'ingress-nginx/ingress-nginx' (repository-name/chart-name get from ArtifactHub.io, the official Helm charts repository where you can find a lot of ready-to-use charts) repository, inside 'ingress-nginx' namespace&quot;.</p>
<blockquote>
<p>and sometimes I see helm repo update after adding the chart-repo with
helm repo add (inginx documentation is doing it) and sometimes not ,
what is the difference? is there any difference?</p>
</blockquote>
<p>After the first &quot;helm install&quot;, if you want to update your something like a simple value in your values.yaml file, you need to &quot;helm upgrade&quot; it, but it's only if you want to change the default config.<br />
You can get more informations here : <a href="https://helm.sh/docs/helm/helm_upgrade/" rel="nofollow noreferrer">https://helm.sh/docs/helm/helm_upgrade/</a></p>
<p>Hope it can help :)</p>

CC BY-SA 4.0
2021-09-28T20:08:00.227Z
2021-09-28T20:08:00.227Z
benCat
<p>I was trying to install ingress helm charts but found a couple of tutorials but they just insert the different steps without proper explanation,  But I want to know what exactly each step means:</p>
<pre><code>kubectl create namespace ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx
</code></pre>
<p>In a simple words and correct me If I am wrong,<br />
<code>kubectl create namespace ingress-nginx</code> -&gt; this creates a namespace called <code>ingress-nginx</code></p>
<p><code>helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx</code> -&gt; This add a chart repository called ingress-nginx from the URL mentioned (Am I free to name it to something else!?)</p>
<p><code>helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx</code> -&gt; install the chart named <code>ingress-nginx</code> (first one) , in the namespace called <code>ingress-nginx</code> (last one),
To be honest I can't understand it will, can anyone explains it?</p>
<p>and sometimes I see <code>helm repo update</code> after adding the chart-repo with <code>helm repo add</code> (inginx documentation is doing it) and sometimes not , what is the difference? is there any difference?</p>

<kubernetes><helm><ingress><kubernetes-helm>
Explaining ingress installation with HELM
Moataz Farid
# Explaining ingress installation with HELM

(Asked by: username_0 on 2021-09-23)

I was trying to install ingress helm charts but found a couple of tutorials but they just insert the different steps without proper explanation,  But I want to know what exactly each step means:
kubectl create namespace ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx

In a simple words and correct me If I am wrong,
kubectl create namespace ingress-nginx -> this creates a namespace called ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx -> This add a chart repository called ingress-nginx from the URL mentioned (Am I free to name it to something else!?)
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx -> install the chart named ingress-nginx (first one) , in the namespace called ingress-nginx (last one),
To be honest I can't understand it will, can anyone explains it?
and sometimes I see helm repo update after adding the chart-repo with helm repo add (inginx documentation is doing it) and sometimes not , what is the difference? is there any difference?

**Tags:** kubernetes, helm, ingress, kubernetes-helm


---

## 2 answers

### Answer by username_1 on 2021-09-24. Score: 1 | Accepted answer

You explained what each does pretty well! I strongly suggest reading the documentation, especially for the commands, don't rely on tutorials only.[helm commands](https://helm.sh/docs/helm/helm/) `helm repo add` => This is what it stands for, it adds a new helm chart repository. `helm repo update` => Update gets the latest information about charts from the respective chart repositories. When you initially start or want to use a chart you will use `add`, let us say 6 months have passed, the chart has bugs that are now fixed in the latest version, you then use `update` to get the latest version. And you can use different names, see example => [helm examples](https://helm.sh/docs/helm/helm_install/)

So what you explained yourself is pretty good, really.

1. You create a Kubernetes namespace.
2. You add a new repo for nginx.
3. Then you install that nginx repo in the new namespace you created in point (1). - otherwise, it will probably go in the default namespace. I always specify the namespace btw.

One thing to note, when you add a repo, it gets added locally and from there it gets installed. So when you do installations, helm goes through your local packages that are stored/cached and it installs them where you point them to.


---

### Answer by username_2 on 2021-09-28. Score: 0

> In a simple words and correct me If I am wrong, kubectl create
> namespace ingress-nginx -> this creates a namespace called
> ingress-nginx

Correct !

> helm repo add ingress-nginx <https://kubernetes.github.io/ingress-nginx>
> -> This add a chart repository called ingress-nginx from the URL mentioned (Am I free to name it to something else!?)

Correct too !
Yes, you can name it has you like, it's just the name that you'll use to refer to this repo url (e.g: in a requirement file)

> helm install ingress-nginx ingress-nginx/ingress-nginx -n
> ingress-nginx -> install the chart named ingress-nginx (first one) ,
> in the namespace called ingress-nginx (last one), To be honest I can't
> understand it will, can anyone explains it?

Here, you tell to Helm "Install from a chart named 'ingress-nginx', from the 'ingress-nginx/ingress-nginx' (repository-name/chart-name get from ArtifactHub.io, the official Helm charts repository where you can find a lot of ready-to-use charts) repository, inside 'ingress-nginx' namespace".

> and sometimes I see helm repo update after adding the chart-repo with
> helm repo add (inginx documentation is doing it) and sometimes not ,
> what is the difference? is there any difference?

After the first "helm install", if you want to update your something like a simple value in your values.yaml file, you need to "helm upgrade" it, but it's only if you want to change the default config.  
You can get more informations here : <https://helm.sh/docs/helm/helm_upgrade/>

Hope it can help :)


---

