<p>I am just started learning Jenkins deployment on Google Kubernetes engine. I was able to successfully deploy an application to my GKE instance. However, I couldn't figure out how to manage Nodes and Clouds.</p>
<p>Any tutorial or guidance would be highly appreciated.</p>

Abhinav Dhiman
<p>Underlying idea behind nodes : Just one node may not be sufficient/effective to run multiple jobs so to distribute the load jobs are transferred to a different node to attain a good performance.</p>
<h2>Prerequisites</h2>
<p>#1 : A instance (Lets’ say it DEV) which is hosting Jenkins (git, maven, Jenkins)</p>
<p>#2 : A instance (Let’s call it Slave) which will be used to serve as host machine  for our new node</p>
<blockquote>
<p>In this machine you need to have java installed
A pass wordless connection should be established between two instances.
To achieve it enable password authentication &gt;generate key in main machine i.e., Dev machine and copy this key into Dev machine.
Create a directory “workspace” in this machine (/home/Ubuntu/workspace)</p>
</blockquote>
<p>Now Let's get started with Jenkins part -
Go to manage Jenkins&gt; Manage nodes and cloud</p>
<blockquote>
<p>By default Jenkins contains only the master node</p>
</blockquote>
<p>To create a new node one could use the option “new node” available on the right side of the screen.</p>
<blockquote>
<p>Provide a name to new node, mark it as permanent agent</p>
</blockquote>
<p>Define remote root directory : It is the directory which is defined by you.</p>
<blockquote>
<p>For e.g., a location like
“/home/Ubuntu/workspace “</p>
</blockquote>
<p>Provide a label of your choice for e.g., let’s give the label as “Slave_lab”</p>
<blockquote>
<p>Label = slave_lab</p>
</blockquote>
<p>Now define your Launch method</p>
<blockquote>
<p>Let’s select “Launch agent via execution of command on the master”</p>
</blockquote>
<p>In the command put command as :</p>
<blockquote>
<p>Ssh Ubuntu@private_IP_of_slave java -jar slave.jar
Note : here by @private_IP_of_slave i mean the IP of machine which will be used for our new node</p>
</blockquote>
<p>Now we could process to configure jobs to be run on our new node</p>
<blockquote>
<p>For that right click on your job &gt; select configure</p>
</blockquote>
<p>Under the general tab select the following</p>
<blockquote>
<p>&quot;Restrict where this project can be run&quot; and provide the label &quot;slave_lab&quot;</p>
</blockquote>
<p>Now when you’ll run the job it will be executed on the slave node not on the master name.</p>
