<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th>Node IP</th>
<th>Role</th>
<th>OS</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>192.x.x.11</code></td>
<td>Master 1</td>
<td>RHEL8</td>
</tr>
<tr>
<td><code>192.x.x.12</code></td>
<td>Master 2</td>
<td>RHEL8</td>
</tr>
<tr>
<td><code>192.x.x.13</code></td>
<td>Master 3</td>
<td>RHEL8</td>
</tr>
<tr>
<td><code>192.x.x.16</code></td>
<td>VIP</td>
<td></td>
</tr>
</tbody>
</table>
</div><h1>Use-Cases</h1>
<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th>No of Masters Ready or Running</th>
<th>Expected</th>
<th>Actual</th>
</tr>
</thead>
<tbody>
<tr>
<td>3 Masters</td>
<td>Ingress Created with VIP IP and ping to VIP should work</td>
<td>VIP is working</td>
</tr>
<tr>
<td>2 Masters</td>
<td>Ingress Created with VIP IP and ping to VIP should work</td>
<td>VIP is working</td>
</tr>
<tr>
<td>1 Master</td>
<td>Ingress Created with VIP IP and ping to VIP should work</td>
<td>VIP is not working, Kubectl is not responding</td>
</tr>
</tbody>
</table>
</div>
<p>I have Created a RKE2 HA Cluster with <strong>kube-vip</strong> and the cluster is working fine only when at least 2 masters are in Running, but I want to test a use case where only 1 master is available the VIP should be able to ping and any ingress created with VIP address should work.</p>
<p>In my case when 2 masters are down I'm facing an issue with kube-vip-ds pod, when i check the logs using crictl command I'm getting the below error can someone suggest to me how to reslove this issue.</p>
<pre><code>

E0412 12:32:20.733320  1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: etcdserver: request timed out
E0412 12:32:20.733715  1 leaderelection.go:325] error retrieving resource lock kube-system/plndr-svcs-lock: etcdserver: request timed out
E0412 12:32:25.812202  1 leaderelection.go:325] error retrieving resource lock kube-system/plndr-svcs-lock: rpc error: code = Unknown desc = OK: HTTP status code 200; transport: missing content-type field
E0412 12:32:25.830219  1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: rpc error: code = Unknown desc = OK: HTTP status code 200; transport: missing content-type field
E0412 12:33:27.204128  1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: the server was unable to return a response in the time allotted, but may still be processing the request (get leases.coordination.k8s.io plndr-cp-lock)
E0412 12:33:27.504957  1 leaderelection.go:325] error retrieving resource lock kube-system/plndr-svcs-lock: the server was unable to return a response in the time allotted, but may still be processing the request (get leases.coordination.k8s.io plndr-svcs-lock)
E0412 12:34:29.346104  1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: the server was unable to return a response in the time allotted, but may still be processing the request (get leases.coordination.k8s.io plndr-cp-lock)
E0412 12:34:29.354454  1 leaderelection.go:325] error retrieving resource lock kube-system/plndr-svcs-lock: the server was unable to return a response in the time allotted, but may still be processing the request (get leases.coordination.k8s.io plndr-svcs-lock)
</code></pre>
<p>Thanks.</p>

<p>Kindly check if you have stacked up etcd datastore as part of your k8s cluster.
etcd for its quorum requires at least 2 masters to be running and in that case failure toleration is n-1, for 3 nodes it shall tolerate only one failure..so in your case as 2 masters are down your cluster is non-operational</p>
