diff --git a/pkg/providers/amifamily/bootstrap/bottlerocket.go b/pkg/providers/amifamily/bootstrap/bottlerocket.go index 9dfa60042ce1..85b927c6d1d9 100644 --- a/pkg/providers/amifamily/bootstrap/bottlerocket.go +++ b/pkg/providers/amifamily/bootstrap/bottlerocket.go @@ -52,7 +52,7 @@ func (b Bottlerocket) Script() (string, error) { if b.KubeletConfig != nil { if len(b.KubeletConfig.ClusterDNS) > 0 { - s.Settings.Kubernetes.ClusterDNSIP = &b.KubeletConfig.ClusterDNS[0] + s.Settings.Kubernetes.ClusterDNSIP = b.KubeletConfig.ClusterDNS } if b.KubeletConfig.SystemReserved != nil { s.Settings.Kubernetes.SystemReserved = b.KubeletConfig.SystemReserved diff --git a/pkg/providers/amifamily/bootstrap/bottlerocketsettings.go b/pkg/providers/amifamily/bootstrap/bottlerocketsettings.go index 3e3e9bdf8ffd..4c01c90d6323 100644 --- a/pkg/providers/amifamily/bootstrap/bottlerocketsettings.go +++ b/pkg/providers/amifamily/bootstrap/bottlerocketsettings.go @@ -48,7 +48,7 @@ type BottlerocketKubernetes struct { CloudProvider *string `toml:"cloud-provider"` ClusterCertificate *string `toml:"cluster-certificate"` ClusterName *string `toml:"cluster-name"` - ClusterDNSIP *string `toml:"cluster-dns-ip,omitempty"` + ClusterDNSIP []string `toml:"cluster-dns-ip,omitempty"` CredentialProviders map[string]BottlerocketCredentialProvider `toml:"credential-providers,omitempty"` NodeLabels map[string]string `toml:"node-labels,omitempty"` NodeTaints map[string][]string `toml:"node-taints,omitempty"` diff --git a/pkg/providers/amifamily/bootstrap/eksbootstrap.go b/pkg/providers/amifamily/bootstrap/eksbootstrap.go index 96ffa534b0e5..3f456e11a6eb 100644 --- a/pkg/providers/amifamily/bootstrap/eksbootstrap.go +++ b/pkg/providers/amifamily/bootstrap/eksbootstrap.go @@ -69,7 +69,7 @@ func (e EKS) eksBootstrapScript() string { userData.WriteString(" \\\n--ip-family ipv6") } if e.KubeletConfig != nil && len(e.KubeletConfig.ClusterDNS) > 0 { - userData.WriteString(fmt.Sprintf(" \\\n--dns-cluster-ip '%s'", e.KubeletConfig.ClusterDNS[0])) + userData.WriteString(fmt.Sprintf(" \\\n--dns-cluster-ip '%s'", strings.Join(e.KubeletConfig.ClusterDNS, ","))) } if e.KubeletConfig != nil && e.KubeletConfig.MaxPods != nil { userData.WriteString(" \\\n--use-max-pods false") diff --git a/pkg/providers/launchtemplate/suite_test.go b/pkg/providers/launchtemplate/suite_test.go index 1290371a3ac6..bfa3804a8810 100644 --- a/pkg/providers/launchtemplate/suite_test.go +++ b/pkg/providers/launchtemplate/suite_test.go @@ -1620,8 +1620,8 @@ essential = true Expect(err).To(BeNil()) config := &bootstrap.BottlerocketConfig{} Expect(config.UnmarshalTOML(userData)).To(Succeed()) - Expect(config.Settings.Kubernetes.ClusterDNSIP).ToNot(BeNil()) - Expect(*config.Settings.Kubernetes.ClusterDNSIP).To(Equal("10.0.100.10")) + Expect(len(config.Settings.Kubernetes.ClusterDNSIP)).To(Equal(1)) + Expect(config.Settings.Kubernetes.ClusterDNSIP[0]).To(Equal("10.0.100.10")) }) }) It("should pass CPUCFSQuota when specified", func() {