@@ -161,6 +161,8 @@ private Pair<String, String> getKubernetesControlNodeConfig(final String control
161161 final String certSans = "{{ k8s_control.server_ips }}" ;
162162 final String k8sCertificate = "{{ k8s_control.certificate_key }}" ;
163163 final String externalCniPlugin = "{{ k8s.external.cni.plugin }}" ;
164+ final String isHaCluster = "{{ k8s.ha.cluster }}" ;
165+ final String publicIP = "{{ k8s.public.ip }}" ;
164166
165167 final List <String > addresses = new ArrayList <>();
166168 addresses .add (controlNodeIp );
@@ -202,7 +204,7 @@ private Pair<String, String> getKubernetesControlNodeConfig(final String control
202204 CLUSTER_API_PORT ,
203205 KubernetesClusterUtil .generateClusterHACertificateKey (kubernetesCluster ));
204206 }
205- initArgs += String .format ("--apiserver-cert-extra-sans=%s" , controlNodeIp );
207+ initArgs += String .format ("--apiserver-cert-extra-sans=%s" , String . join ( "," , addresses ) );
206208 initArgs += String .format (" --kubernetes-version=%s" , getKubernetesClusterVersion ().getSemanticVersion ());
207209 k8sControlNodeConfig = k8sControlNodeConfig .replace (clusterInitArgsKey , initArgs );
208210 k8sControlNodeConfig = k8sControlNodeConfig .replace (ejectIsoKey , String .valueOf (ejectIso ));
@@ -212,6 +214,8 @@ private Pair<String, String> getKubernetesControlNodeConfig(final String control
212214 k8sControlNodeConfig = k8sControlNodeConfig .replace (certSans , String .format ("- %s" , serverIp ));
213215 k8sControlNodeConfig = k8sControlNodeConfig .replace (k8sCertificate , KubernetesClusterUtil .generateClusterHACertificateKey (kubernetesCluster ));
214216 k8sControlNodeConfig = k8sControlNodeConfig .replace (externalCniPlugin , String .valueOf (externalCni ));
217+ k8sControlNodeConfig = k8sControlNodeConfig .replace (isHaCluster , String .valueOf (kubernetesCluster .getControlNodeCount () > 1 ));
218+ k8sControlNodeConfig = k8sControlNodeConfig .replace (publicIP , publicIpAddress );
215219
216220 k8sControlNodeConfig = updateKubeConfigWithRegistryDetails (k8sControlNodeConfig );
217221
@@ -309,6 +313,8 @@ private String getKubernetesAdditionalControlNodeConfig(final String joinIp, fin
309313 final String ejectIsoKey = "{{ k8s.eject.iso }}" ;
310314 final String installWaitTime = "{{ k8s.install.wait.time }}" ;
311315 final String installReattemptsCount = "{{ k8s.install.reattempts.count }}" ;
316+ final String isHaCluster = "{{ k8s.ha.cluster }}" ;
317+ final String publicIP = "{{ k8s.public.ip }}" ;
312318
313319 final Long waitTime = KubernetesClusterService .KubernetesControlNodeInstallAttemptWait .value ();
314320 final Long reattempts = KubernetesClusterService .KubernetesControlNodeInstallReattempts .value ();
@@ -328,6 +334,8 @@ private String getKubernetesAdditionalControlNodeConfig(final String joinIp, fin
328334 k8sControlNodeConfig = k8sControlNodeConfig .replace (clusterTokenKey , KubernetesClusterUtil .generateClusterToken (kubernetesCluster ));
329335 k8sControlNodeConfig = k8sControlNodeConfig .replace (clusterHACertificateKey , KubernetesClusterUtil .generateClusterHACertificateKey (kubernetesCluster ));
330336 k8sControlNodeConfig = k8sControlNodeConfig .replace (ejectIsoKey , String .valueOf (ejectIso ));
337+ k8sControlNodeConfig = k8sControlNodeConfig .replace (isHaCluster , String .valueOf (kubernetesCluster .getControlNodeCount () > 1 ));
338+ k8sControlNodeConfig = k8sControlNodeConfig .replace (publicIP , publicIpAddress );
331339 k8sControlNodeConfig = updateKubeConfigWithRegistryDetails (k8sControlNodeConfig );
332340
333341 return k8sControlNodeConfig ;
@@ -426,7 +434,7 @@ private UserVm createKubernetesAdditionalControlNode(final String joinIp, final
426434 String hostName = String .format ("%s-control-%s" , kubernetesClusterNodeNamePrefix , suffix );
427435 String k8sControlNodeConfig = null ;
428436 try {
429- k8sControlNodeConfig = getKubernetesAdditionalControlNodeConfig (joinIp , Hypervisor .HypervisorType .VMware .equals (clusterTemplate .getHypervisorType ()));
437+ k8sControlNodeConfig = getKubernetesAdditionalControlNodeConfig (publicIpAddress , Hypervisor .HypervisorType .VMware .equals (clusterTemplate .getHypervisorType ()));
430438 } catch (IOException e ) {
431439 logAndThrow (Level .ERROR , "Failed to read Kubernetes control configuration file" , e );
432440 }
0 commit comments