diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java index 13fb43ffac3..867006d6d6a 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java @@ -388,6 +388,7 @@ public class KubernetesClusterActionWorker { if (controlVm != null) { return controlVm; } + Long etcdNodeCount = kubernetesCluster.getEtcdNodeCount(); List clusterVMs = kubernetesClusterVmMapDao.listByClusterId(kubernetesCluster.getId()); if (CollectionUtils.isEmpty(clusterVMs)) { logger.warn(String.format("Unable to retrieve VMs for Kubernetes cluster : %s", kubernetesCluster.getName())); @@ -398,7 +399,8 @@ public class KubernetesClusterActionWorker { vmIds.add(vmMap.getVmId()); } Collections.sort(vmIds); - return userVmDao.findById(vmIds.get(0)); + int controlNodeIndex = Objects.nonNull(etcdNodeCount) ? etcdNodeCount.intValue() : 0; + return userVmDao.findById(vmIds.get(controlNodeIndex)); } protected String getControlVmPrivateIp() {