Skip to content

Host Entries got removed from CoreDNS #7963

Description

@NileshChandekar

Before creating an issue, make sure you've checked the following:

  • You are running the latest released version of k0s
  • Make sure you've searched for existing issues, both open and closed
  • Make sure you've searched for PRs too, a fix might've been merged already
  • You're looking at docs for the released version, "main" branch docs are usually ahead of released versions.

Platform

[root@CTSRVITP0066 ~]# uname -srvmo; cat /etc/os-release || lsb_release -a
Linux 5.15.0-302.167.6.el9uek.x86_64 #2 SMP Mon Nov 4 23:41:59 PST 2024 x86_64 GNU/Linux
NAME="Oracle Linux Server"
VERSION="9.5"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="9.5"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Oracle Linux Server 9.5"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:9:5:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9"
ORACLE_BUGZILLA_PRODUCT_VERSION=9.5
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=9.5
[root@CTSRVITP0066 ~]#

Version

[root@CTSRVITP0066 ~]# k0s version v1.33.4+k0s.0 [root@CTSRVITP0066 ~]#

Sysinfo

`k0s sysinfo`
[root@CTSRVITP0066 ~]# k0s sysinfo
Total memory: 629.6 GiB (pass)
File system of /var/lib/k0s: xfs (pass)
Disk space available for /var/lib/k0s: 506.7 GiB (pass)
Relative disk space available for /var/lib/k0s: 56% (pass)
Name resolution: localhost: [::1 127.0.0.1] (pass)
Operating system: Linux (pass)
  Linux kernel release: 5.15.0-302.167.6.el9uek.x86_64 (pass)
  Max. file descriptors per process: current: 65536 / max: 65536 (pass)
  AppArmor: unavailable (pass)
  Executable in PATH: modprobe: /usr/sbin/modprobe (pass)
  Executable in PATH: mount: /usr/bin/mount (pass)
  Executable in PATH: umount: /usr/bin/umount (pass)
  /proc file system: mounted (0x9fa0) (pass)
  Control Groups: version 2 (pass)
    cgroup controller "cpu": available (is a listed root controller) (pass)
    cgroup controller "cpuacct": available (via cpu in version 2) (pass)
    cgroup controller "cpuset": available (is a listed root controller) (pass)
    cgroup controller "memory": available (is a listed root controller) (pass)
    cgroup controller "devices": available (device filters attachable) (pass)
    cgroup controller "freezer": available (cgroup.freeze exists) (pass)
    cgroup controller "pids": available (is a listed root controller) (pass)
    cgroup controller "hugetlb": available (is a listed root controller) (pass)
    cgroup controller "blkio": available (via io in version 2) (pass)
  CONFIG_CGROUPS: Control Group support: built-in (pass)
    CONFIG_CGROUP_SCHED: Group CPU scheduler: built-in (pass)
      CONFIG_FAIR_GROUP_SCHED: Group scheduling for SCHED_OTHER: built-in (pass)
        CONFIG_CFS_BANDWIDTH: CPU bandwidth provisioning for FAIR_GROUP_SCHED: built-in (pass)
    CONFIG_BLK_CGROUP: Block IO controller: built-in (pass)
  CONFIG_NAMESPACES: Namespaces support: built-in (pass)
    CONFIG_UTS_NS: UTS namespace: built-in (pass)
    CONFIG_IPC_NS: IPC namespace: built-in (pass)
    CONFIG_PID_NS: PID namespace: built-in (pass)
    CONFIG_NET_NS: Network namespace: built-in (pass)
  CONFIG_NET: Networking support: built-in (pass)
    CONFIG_INET: TCP/IP networking: built-in (pass)
      CONFIG_IPV6: The IPv6 protocol: built-in (pass)
    CONFIG_NETFILTER: Network packet filtering framework (Netfilter): built-in (pass)
      CONFIG_NETFILTER_ADVANCED: Advanced netfilter configuration: built-in (pass)
      CONFIG_NF_CONNTRACK: Netfilter connection tracking support: module (pass)
      CONFIG_NETFILTER_XTABLES: Netfilter Xtables support: built-in (pass)
        CONFIG_NETFILTER_XT_TARGET_REDIRECT: REDIRECT target support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_COMMENT: "comment" match support: module (pass)
        CONFIG_NETFILTER_XT_MARK: nfmark target and match support: module (pass)
        CONFIG_NETFILTER_XT_SET: set target and match support: module (pass)
        CONFIG_NETFILTER_XT_TARGET_MASQUERADE: MASQUERADE target support: module (pass)
        CONFIG_NETFILTER_XT_NAT: "SNAT and DNAT" targets support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: "addrtype" address type match support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_CONNTRACK: "conntrack" connection tracking match support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_MULTIPORT: "multiport" Multiple port match support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_RECENT: "recent" match support: module (pass)
        CONFIG_NETFILTER_XT_MATCH_STATISTIC: "statistic" match support: module (pass)
      CONFIG_NETFILTER_NETLINK: built-in (pass)
      CONFIG_NF_NAT: module (pass)
      CONFIG_IP_SET: IP set support: module (pass)
        CONFIG_IP_SET_HASH_IP: hash:ip set support: module (pass)
        CONFIG_IP_SET_HASH_NET: hash:net set support: module (pass)
      CONFIG_IP_VS: IP virtual server support: module (pass)
        CONFIG_IP_VS_NFCT: Netfilter connection tracking: built-in (pass)
        CONFIG_IP_VS_SH: Source hashing scheduling: module (pass)
        CONFIG_IP_VS_RR: Round-robin scheduling: module (pass)
        CONFIG_IP_VS_WRR: Weighted round-robin scheduling: module (pass)
      CONFIG_NF_CONNTRACK_IPV4: IPv4 connection tracking support (required for NAT): unknown (warning)
      CONFIG_NF_REJECT_IPV4: IPv4 packet rejection: module (pass)
      CONFIG_NF_NAT_IPV4: IPv4 NAT: unknown (warning)
      CONFIG_IP_NF_IPTABLES: IP tables support: module (pass)
        CONFIG_IP_NF_FILTER: Packet filtering: module (pass)
          CONFIG_IP_NF_TARGET_REJECT: REJECT target support: module (pass)
        CONFIG_IP_NF_NAT: iptables NAT support: module (pass)
        CONFIG_IP_NF_MANGLE: Packet mangling: module (pass)
      CONFIG_NF_DEFRAG_IPV4: module (pass)
      CONFIG_NF_CONNTRACK_IPV6: IPv6 connection tracking support (required for NAT): unknown (warning)
      CONFIG_NF_NAT_IPV6: IPv6 NAT: unknown (warning)
      CONFIG_IP6_NF_IPTABLES: IP6 tables support: module (pass)
        CONFIG_IP6_NF_FILTER: Packet filtering: module (pass)
        CONFIG_IP6_NF_MANGLE: Packet mangling: module (pass)
        CONFIG_IP6_NF_NAT: ip6tables NAT support: module (pass)
      CONFIG_NF_DEFRAG_IPV6: module (pass)
    CONFIG_BRIDGE: 802.1d Ethernet Bridging: built-in (pass)
      CONFIG_LLC: built-in (pass)
      CONFIG_STP: built-in (pass)
  CONFIG_EXT4_FS: The Extended 4 (ext4) filesystem: module (pass)
  CONFIG_PROC_FS: /proc file system support: built-in (pass)
[root@CTSRVITP0066 ~]# 

What happened?

  • Trying to add host entries in coreDNS
[root@CTSRVITP0066 ~]# cd /var/lib/k0s/manifests/coredns/
[root@CTSRVITP0066 coredns]# 
[root@CTSRVITP0066 coredns]# cp  coredns.yaml  /root/coredns.yaml-$(date +%F)
[root@CTSRVITP0066 coredns]# vi coredns.yaml 

 

49 ---
50 apiVersion: v1
51 kind: ConfigMap
52 metadata:
53   name: coredns
54   namespace: kube-system
55 data:
56   Corefile: |
57     .:53 {
58         errors
59         health
60         ready
61         kubernetes cluster.local in-addr.arpa ip6.arpa {
62           pods insecure
63           ttl 30
64           fallthrough in-addr.arpa ip6.arpa
65         }
66         hosts {
67           10.115.176.106 gitea.ct.lan ct.repo.local
68           10.115.72.81 taxii-server
69           10.115.176.109 hdfs-ext-svc-lb
70           10.115.176.109 csqas10g3hadoop1.cpqas10g3.ct.lan
71           10.115.176.110 csqas10G3hadoop2.cpqas10g3.ct.lan
72           10.115.176.233 csqas10g3hadoop3.cpqas10g3.ct.lan
73           172.50.33.253 probe1-ext-svc
74           10.115.72.242 omx1-ext-svc
75           192.168.0.25 omx2-ext-svc
76           10.115.72.243 i2400-ext-svc
77           10.115.176.182 object-storage-ext-svc
78           10.116.164.20 omx-simulator-ext-svc
79           10.116.164.40 speech-ext-svc
80           10.115.104.184 sm4t-ext-svc
81           10.115.74.190 phonexia-ext-svc
82           10.115.74.173 osint1-ext-svc
83           10.115.74.170 osint2-ext-svc
84           192.168.0.10 llm-ext-svc
85           172.50.33.253 probeitp0019
86           10.115.176.195 gitea.ct.lan ct.repo.local
87           10.115.176.203 gitea.ct.lan ct.repo.local
88           fallthrough
89         }
90         prometheus :9153
91         forward . /etc/resolv.conf
92         cache 30
93         loop
94         reload
95         loadbalance
96     }
97 ---
  • save and exit
[ansible@CSQASINGULARCONTROLLER02 ~]$ kubectl rollout restart deployment coredns -n kube-system
[ansible@CSQASINGULARCONTROLLER02 ~]$ kubectl get cm coredns -n kube-system -oyaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          ttl 30
          fallthrough in-addr.arpa ip6.arpa
        }
        hosts {
          10.115.176.106 gitea.ct.lan ct.repo.local
          10.115.72.81 taxii-server
          10.115.176.109 hdfs-ext-svc-lb
          10.115.176.109 csqas10g3hadoop1.cpqas10g3.ct.lan
          10.115.176.110 csqas10G3hadoop2.cpqas10g3.ct.lan
          10.115.176.233 csqas10g3hadoop3.cpqas10g3.ct.lan
          172.50.33.253 probe1-ext-svc
          10.115.72.242 omx1-ext-svc
          192.168.0.25 omx2-ext-svc
          10.115.72.243 i2400-ext-svc
          10.115.176.182 object-storage-ext-svc
          10.116.164.20 omx-simulator-ext-svc
          10.116.164.40 speech-ext-svc
          10.115.104.184 sm4t-ext-svc
          10.115.74.190 phonexia-ext-svc
          10.115.74.173 osint1-ext-svc
          10.115.74.170 osint2-ext-svc
          192.168.0.10 llm-ext-svc
          172.50.33.253 probeitp0019
          10.115.176.195 gitea.ct.lan ct.repo.local
          10.115.176.203 gitea.ct.lan ct.repo.local
          fallthrough
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  annotations:
    k0s.k0sproject.io/last-applied-configuration: |
      {"apiVersion":"v1","data":{"Corefile":".:53 {\n    errors\n    health\n    ready\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\n      pods insecure\n      ttl 30\n      fallthrough in-addr.arpa ip6.arpa\n    }\n    hosts {\n      10.115.176.106 gitea.ct.lan ct.repo.local\n      10.115.72.81 taxii-server\n      10.115.176.109 hdfs-ext-svc-lb\n      10.115.176.109 csqas10g3hadoop1.cpqas10g3.ct.lan\n      10.115.176.110 csqas10G3hadoop2.cpqas10g3.ct.lan\n      10.115.176.233 csqas10g3hadoop3.cpqas10g3.ct.lan\n      172.50.33.253 probe1-ext-svc\n      10.115.72.242 omx1-ext-svc\n      192.168.0.25 omx2-ext-svc\n      10.115.72.243 i2400-ext-svc\n      10.115.176.182 object-storage-ext-svc\n      10.116.164.20 omx-simulator-ext-svc\n      10.116.164.40 speech-ext-svc\n      10.115.104.184 sm4t-ext-svc\n      10.115.74.190 phonexia-ext-svc\n      10.115.74.173 osint1-ext-svc\n      10.115.74.170 osint2-ext-svc\n      192.168.0.10 llm-ext-svc\n      172.50.33.253 probeitp0019\n      10.115.176.195 gitea.ct.lan ct.repo.local\n      10.115.176.203 gitea.ct.lan ct.repo.local\n      fallthrough\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf\n    cache 30\n    loop\n    reload\n    loadbalance\n}\n"},"kind":"ConfigMap","metadata":{"name":"coredns","namespace":"kube-system"}}
    k0s.k0sproject.io/stack-checksum: 1f56b59483f401051eb312caf41714fe
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","data":{"Corefile":".:53 {\n    errors\n    health\n    ready\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\n      pods insecure\n      ttl 30\n      fallthrough in-addr.arpa ip6.arpa\n    }\n    hosts {\n      10.115.176.106 gitea.ct.lan ct.repo.local\n      10.115.72.81 taxii-server\n      10.115.176.109 hdfs-ext-svc-lb\n      10.115.176.109 csqas10g3hadoop1.cpqas10g3.ct.lan\n      10.115.176.110 csqas10G3hadoop2.cpqas10g3.ct.lan\n      10.115.176.233 csqas10g3hadoop3.cpqas10g3.ct.lan\n      172.50.33.253 probe1-ext-svc\n      10.115.72.244 omx1-ext-svc\n      192.168.0.242 omx2-ext-svc\n      10.115.72.243 i2400-ext-svc\n      10.115.176.131 object-storage-ext-svc\n      10.116.164.20 omx-simulator-ext-svc\n      10.116.164.40 speech-ext-svc\n      10.115.104.184 sm4t-ext-svc\n      10.115.74.190 phonexia-ext-svc\n      10.115.74.173 osint1-ext-svc\n      10.115.74.170 osint2-ext-svc\n      192.168.0.10 llm-ext-svc\n      172.50.33.253 probeitp0019\n      10.115.176.195 gitea.ct.lan ct.repo.local\n      10.115.176.203 gitea.ct.lan ct.repo.local\n      10.115.176.109 csqas10G3hadoop1 hdfs-ext-svc-lb\n      fallthrough\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf\n    cache 30\n    loop\n    reload\n    loadbalance\n}\n"},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"k0s.k0sproject.io/stack":"coredns"},"name":"coredns","namespace":"kube-system"}}
  creationTimestamp: "2025-12-27T08:50:14Z"
  labels:
    k0s.k0sproject.io/stack: coredns
  name: coredns
  namespace: kube-system
  resourceVersion: "68286752"
  uid: fe6469ea-cd0b-4806-9664-458f21cf21cc
[ansible@CSQASINGULARCONTROLLER02 ~]$ 
[ansible@CSQASINGULARCONTROLLER02 ~]$ kubectl get pod -A | grep -i dns
kube-system      coredns-55d9465cff-kmqtr                                                 1/1     Running            0                 15m
kube-system      coredns-55d9465cff-p79dg                                                 1/1     Running            0                 15m
[ansible@CSQASINGULARCONTROLLER02 ~]$ 

 

Steps to reproduce

  1. rebooted the node
  2. after the reboot lost coreDNS configmap config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          ttl 30
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
---
  1. It should not get removed
  2. we have tried edit the cm of coredns as well, after reboot same observed.

Expected behavior

  • host entries should not get removed.

Actual behavior

  • Should be present after reboot as well
49 ---
50 apiVersion: v1
51 kind: ConfigMap
52 metadata:
53   name: coredns
54   namespace: kube-system
55 data:
56   Corefile: |
57     .:53 {
58         errors
59         health
60         ready
61         kubernetes cluster.local in-addr.arpa ip6.arpa {
62           pods insecure
63           ttl 30
64           fallthrough in-addr.arpa ip6.arpa
65         }
66         hosts {
67           10.115.176.106 gitea.ct.lan ct.repo.local
68           10.115.72.81 taxii-server
69           10.115.176.109 hdfs-ext-svc-lb
70           10.115.176.109 csqas10g3hadoop1.cpqas10g3.ct.lan
71           10.115.176.110 csqas10G3hadoop2.cpqas10g3.ct.lan
72           10.115.176.233 csqas10g3hadoop3.cpqas10g3.ct.lan
73           172.50.33.253 probe1-ext-svc
74           10.115.72.242 omx1-ext-svc
75           192.168.0.25 omx2-ext-svc
76           10.115.72.243 i2400-ext-svc
77           10.115.176.182 object-storage-ext-svc
78           10.116.164.20 omx-simulator-ext-svc
79           10.116.164.40 speech-ext-svc
80           10.115.104.184 sm4t-ext-svc
81           10.115.74.190 phonexia-ext-svc
82           10.115.74.173 osint1-ext-svc
83           10.115.74.170 osint2-ext-svc
84           192.168.0.10 llm-ext-svc
85           172.50.33.253 probeitp0019
86           10.115.176.195 gitea.ct.lan ct.repo.local
87           10.115.176.203 gitea.ct.lan ct.repo.local
88           fallthrough
89         }
90         prometheus :9153
91         forward . /etc/resolv.conf
92         cache 30
93         loop
94         reload
95         loadbalance
96     }
97 ---

Screenshots and logs

[root@CTSRVITP0066 ~]# journalctl --no-pager --since "2 hours ago" | grep -w CoreDNS | head -10 
Jul 11 18:10:00 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:00" level=info msg="initializing CoreDNS"
Jul 11 18:10:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:10" level=info msg="starting CoreDNS"
Jul 11 18:10:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:10" level=debug msg="checkpoint recorded" checkpoint=running-CoreDNS component=performance-timer duration=15.753336ms target=component-start
Jul 11 18:10:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:10" level=debug msg="checkpoint recorded" checkpoint=running-CoreDNS-done component=performance-timer duration=15.779755ms target=component-start
Jul 11 18:10:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:10" level=info msg="starting to reconcile *controller.CoreDNS"
Jul 11 18:10:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:10" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 18:10:20 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:20" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 18:10:30 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:30" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 18:10:40 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:40" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 18:10:50 CTSRVITP0066 k0s[5512]: time="2026-07-11 18:10:50" level=debug msg="reconcile method called for: CoreDNS"
[root@CTSRVITP0066 ~]# journalctl --no-pager --since "2 hours ago" | grep -w CoreDNS | tail  -10 
Jul 11 19:18:40 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:18:40" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:18:50 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:18:50" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:00 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:00" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:10" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:20 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:20" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:30 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:30" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:40 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:40" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:19:50 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:19:50" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:20:00 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:20:00" level=debug msg="reconcile method called for: CoreDNS"
Jul 11 19:20:10 CTSRVITP0066 k0s[5512]: time="2026-07-11 19:20:10" level=debug msg="reconcile method called for: CoreDNS"
[root@CTSRVITP0066 ~]# 

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions