<p>I am implementing the continuous integration and continuous deployment by using Ansible, Docker, Jenkins and Kubernetes. I already created one Kubernetes cluster with 1 master and 2 worker nodes by using Ansible and kubespray deployment. And I have 30 - 40 number of micro service application. I need to create that much of service and deployments.</p>

<p><strong>My Confusion</strong></p>

<p>When I am using Kubernetes package manager Kubernetes Helm chart, then do I need to initiate my chart on master node or in my base machine from where I I deployed my kubernet cluster ?</p>

<ol>
<li>If I am initiating inside master, then can I use kubectl to deploy using ssh on remote worker nodes?</li>
<li>If I am initiating outside the Kubernetes cluster nodes , then Can i use kubectl command to deploy in Kubernetes cluster ?</li>
</ol>

Mr.DevEng
<p>Your confusion seems to lie in the configuration and interactions of Helm components. <a href="https://rimusz.net/tillerless-helm/" rel="nofollow noreferrer">This explanation</a> provides a good graphics to represent the relationships. </p>

<p>If you are using the traditional Helm/Tiller configuration, Helm will be installed locally on your machine and, assuming you have the correct <code>kubectl</code> configuration, you can "initialize" your cluster by running <code>helm init</code> to install Tiller into your cluster. Tiller will run as a deployment in <code>kube-system</code>, and has the RBAC privileges to create/modify/delete/view the chart resources. Helm will automatically manage all the API objects for you, and the kube-scheduler will schedule the pods to all your nodes accordingly. You should not be directly interacting with your master and nodes via your console. </p>

<p>In either configuration, you would always be making the Helm deployment from your local machine with a <code>kubectl</code> access to your cluster. </p>

<p>Hope this helps!</p>
