mirror of
https://git.vectorsigma.ru/public/k3s.git
synced 2026-08-07 22:39:39 +00:00
Fix issue with coredns node hosts controller
The nodes controller was reading from the configmaps cache, but doesn't add any handlers, so if no other controller added configmap handlers, the cache would remain empty.
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 888f866dae)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
This commit is contained in:
committed by
Brad Davidson
parent
7d9b5cc28d
commit
c58ee7305b
@@ -9,6 +9,7 @@ import (
|
||||
coreclient "github.com/rancher/wrangler/pkg/generated/controllers/core/v1"
|
||||
"github.com/sirupsen/logrus"
|
||||
core "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
func Register(ctx context.Context,
|
||||
@@ -76,13 +77,12 @@ func (h *handler) updateCoreDNSConfigMap(nodeName, nodeAddress string, removed b
|
||||
return nil
|
||||
}
|
||||
|
||||
configMapCache, err := h.configMaps.Cache().Get("kube-system", "coredns")
|
||||
if err != nil || configMapCache == nil {
|
||||
configMap, err := h.configMaps.Get("kube-system", "coredns", metav1.GetOptions{})
|
||||
if err != nil || configMap == nil {
|
||||
logrus.Warn(errors.Wrap(err, "Unable to fetch coredns config map"))
|
||||
return nil
|
||||
}
|
||||
|
||||
configMap := configMapCache.DeepCopy()
|
||||
hosts := configMap.Data["NodeHosts"]
|
||||
hostsMap := map[string]string{}
|
||||
|
||||
@@ -116,6 +116,10 @@ func (h *handler) updateCoreDNSConfigMap(nodeName, nodeAddress string, removed b
|
||||
for host, ip := range hostsMap {
|
||||
newHosts += ip + " " + host + "\n"
|
||||
}
|
||||
|
||||
if configMap.Data == nil {
|
||||
configMap.Data = map[string]string{}
|
||||
}
|
||||
configMap.Data["NodeHosts"] = newHosts
|
||||
|
||||
if _, err := h.configMaps.Update(configMap); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user