I have one kubernetes cluster with 1 master node and 2 worker node. And I have another machine where i installed helm. Actually I am trying to create kubernetes resources using helm chart and trying to deploy into remote kubernetes cluster.
When I am reading about helm install command, I found that we need to use helm and kubectl command for deploying.
Confusion
My confusion in here is that , when we using helm install , the created chart will deploy on kubernetes and we can push it into chart repo also. So for deploying we are using helm. But why we are using kubectl command with helm?
can anyone clear my confusion please?
Helm/Tiller are client/server, helm needs to connect to tiller to initiate the deployment. Because tiller is not publicly exposed, helm uses kubectl underneath to open a tunnel to tiller. See here: https://github.com/helm/helm/issues/3745#issuecomment-376405184 So to use helm, you also need a configured kubectl. More detailed: https://helm.sh/docs/using_helm/
Chart repo is a different concept, it's not mandatory to use. They are like artifact storage, for example in quay.io application registry you can audit who pushed and who used a chart. More detailed: https://github.com/helm/helm/blob/master/docs/chart_repository.md. You always can bypass repo and install from src like: helm install /path/to/chart/src