From a502a3799047e4424e3a70e17328f60efb8c1ac8 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Sat, 27 Nov 2021 19:19:29 -0800 Subject: [PATCH] Support NodeLocalDNS on IPv6 clusters --- pkg/model/components/kubedns.go | 6 +++++- .../nodelocaldns.addons.k8s.io/k8s-1.12.yaml.template | 5 +---- upup/pkg/fi/cloudup/template_functions.go | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/model/components/kubedns.go b/pkg/model/components/kubedns.go index 035c3f8cb4..28596b3c47 100644 --- a/pkg/model/components/kubedns.go +++ b/pkg/model/components/kubedns.go @@ -91,7 +91,11 @@ func (b *KubeDnsOptionsBuilder) BuildOptions(o interface{}) error { nodeLocalDNS.Enabled = fi.Bool(false) } if fi.BoolValue(nodeLocalDNS.Enabled) && nodeLocalDNS.LocalIP == "" { - nodeLocalDNS.LocalIP = "169.254.20.10" + if clusterSpec.IsIPv6Only() { + nodeLocalDNS.LocalIP = "fd00:90de:d95::1" + } else { + nodeLocalDNS.LocalIP = "169.254.20.10" + } } if fi.BoolValue(nodeLocalDNS.Enabled) && nodeLocalDNS.ForwardToKubeDNS == nil { nodeLocalDNS.ForwardToKubeDNS = fi.Bool(false) diff --git a/upup/models/cloudup/resources/addons/nodelocaldns.addons.k8s.io/k8s-1.12.yaml.template b/upup/models/cloudup/resources/addons/nodelocaldns.addons.k8s.io/k8s-1.12.yaml.template index 4752c9d2c4..40a2bd0839 100644 --- a/upup/models/cloudup/resources/addons/nodelocaldns.addons.k8s.io/k8s-1.12.yaml.template +++ b/upup/models/cloudup/resources/addons/nodelocaldns.addons.k8s.io/k8s-1.12.yaml.template @@ -54,7 +54,7 @@ data: force_tcp } prometheus :9253 - health {{ KubeDNS.NodeLocalDNS.LocalIP }}:{{ NodeLocalDNSHealthCheck }} + health {{ joinHostPort KubeDNS.NodeLocalDNS.LocalIP NodeLocalDNSHealthCheck }} } {{- if WithDefaultBool KubeDNS.NodeLocalDNS.ForwardToKubeDNS false }} .:53 { @@ -99,9 +99,6 @@ data: bind {{ KubeDNS.NodeLocalDNS.LocalIP }} forward . __PILLAR__UPSTREAM__SERVERS__ prometheus :9253 - {{- if IsIPv6Only }} - dns64 - {{- end }} } {{- end }} --- diff --git a/upup/pkg/fi/cloudup/template_functions.go b/upup/pkg/fi/cloudup/template_functions.go index bae5b5b3c2..966818c5dd 100644 --- a/upup/pkg/fi/cloudup/template_functions.go +++ b/upup/pkg/fi/cloudup/template_functions.go @@ -31,6 +31,7 @@ import ( "encoding/base64" "encoding/json" "fmt" + "net" "os" "path" "sort" @@ -87,6 +88,7 @@ func (tf *TemplateFunctions) AddTo(dest template.FuncMap, secretStore fi.SecretS dest["join"] = func(a []string, sep string) string { return strings.Join(a, sep) } + dest["joinHostPort"] = net.JoinHostPort sprigTxtFuncMap := sprig.TxtFuncMap() dest["nindent"] = sprigTxtFuncMap["nindent"]