<p>I am exploring the implementation of CI/CD pipeline using kubernetes and jenkins. I am planned to use multi master kubernetes cluster - HA cluster. And using the etcd cluster on the master nodes. I am following the below tutorial for learning,</p>

<p><a href="https://kubernetes.io/docs/setup/independent/high-availability/" rel="nofollow noreferrer">https://kubernetes.io/docs/setup/independent/high-availability/</a></p>

<p>Here when I am reading I found that - After Run kubeadm init on master1 and master2, there is a step "<strong>Add master1 and master2 to load balancer</strong>".</p>

<p>Actually  I am confused in this step that , Do I need to use another VM as a load balancer ? Or master0 master1 and master2 setup defaultly giving one load balancer ?</p>

<p>I am not clear about this step about load balancer in HA kubernetes cluster. Can anyone clarify my confusions please?</p>

Mr.DevEng
<p>The short answer is yes, you have to create Load Balancer for masters and add other masters to LB pool manually.</p>

<p>Here is a part from the "<a href="https://kubernetes.io/docs/admin/high-availability/building/" rel="nofollow noreferrer">Building High-Availability Clusters</a>" document, "Replicating API Servers" section:</p>

<blockquote>
  <p><strong>Load balancing</strong><br>
  At this point, you should have 3 apiservers all working correctly. If you set up a network load balancer, you should
  be able to access your cluster via that load balancer, and see traffic
  balancing between the apiserver instances. Setting up a load balancer
  will depend on the specifics of your platform, for example
  instructions for the Google Cloud Platform can be found <a href="https://cloud.google.com/compute/docs/load-balancing/" rel="nofollow noreferrer">here</a>.</p>
  
  <p>Note, if you are using authentication, you may need to regenerate your
  certificate to include the IP address of the balancer, in addition to
  the IP addresses of the individual nodes.</p>
  
  <p>For pods that you deploy into the cluster, the kubernetes service/dns
  name should provide a load balanced endpoint for the master
  automatically.</p>
  
  <p>For external users of the API (e.g. the kubectl command line
  interface, continuous build pipelines, or other clients) you will want
  to configure them to talk to the external load balancer’s IP address.</p>
</blockquote>

<p>Please also find two parts, related to <strong>Cloud load balancer</strong> and <strong>On Site load balancer</strong> in the <a href="https://kubernetes.io/docs/setup/independent/high-availability/" rel="nofollow noreferrer">Creating HA clusters with kubeadm</a> document.<br>
(It's hidden above "Acquire etcd cert") in "Choose one.../Cloud/On-Site" section.</p>
