Skip to content

[BUG] host Pod Failed to Start Due to CoreDNS DNS Timeout after reboot #24968

Description

@elvizlai

问题描述/What happened:

[root@cloud-mgr ~]# kubectl logs -f default-host-2mgtp
Defaulted container "host" out of: host, ovn-controller, sdnagent
[debug 260603 14:42:28 db.newTableSpec(tablespec.go:77)] table hostdmesg_log_tbl maxDuration 720 hour maxSegements 6
[info 260603 14:42:28 procutils.WaitZombieLoop(zombie_others.go:36)] My pid is not 1 and no need to wait zombies
[info 260603 14:42:28 options.parseOptions(options.go:354)] Use configuration file: /etc/yunion/host.conf
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument enable-rbac
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument health-driver
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument disk-is-ssd
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument enable-qmp-monitor
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument enable-health-checker
[warning 260603 14:42:28 structarg.(*ArgumentParser).parseJSONKeyValue(structarg.go:1215)] Cannot find argument start-host-ignore-sys-error
[info 260603 14:42:28 options.parseOptions(options.go:377)] Set log level to "info"
[info 2026-06-03 14:42:28 options.parseOptions(options.go:354)] Use configuration file: /etc/yunion/common/common.conf
[info 2026-06-03 14:42:28 options.parseOptions(options.go:377)] Set log level to "info"
[info 2026-06-03 14:42:28 hostman.(*SHostService).InitService(host_services.go:69)] exec socket path: /var/run/onecloud/exec.sock
[info 2026-06-03 14:42:28 app.InitApp(app.go:32)] RequestWorkerCount: 8
[info 2026-06-03 14:42:28 appsrv.NewApplication(appsrv.go:122)] App hostId: 38UXWy0UyWyJFSpoXpbVECBtSoU= (host,anode-04.icc.local,172.20.1.118)
2026/06/03 14:42:28 Allow hosts []
[info 2026-06-03 14:42:28 appsrv.(*Application).SetDefaultTimeout(appsrv.go:138)] adjust application default timeout to 60.000000 seconds
[error 2026-06-03 14:42:28 auth.(*authManager).startRefreshRevokeTokens(auth.go:193)] refreshRevokeTokens: No valid admin token credential
Post "https://default-keystone:30357/v3/auth/tokens": dial tcp: lookup default-keystone on 10.96.0.10:53: read udp 10.96.0.10:55199->10.96.0.10:53: i/o timeout
[error 2026-06-03 14:43:18 auth.(*authManager).authAdmin(auth.go:269)] Admin auth failed: {"error":{"class":"DNSError","code":499,"details":"Post \"https://default-keystone:30357/v3/auth/tokens\": dial tcp: lookup default-keystone on 10.96.0.10:53: read udp 10.96.0.10:55199->10.96.0.10:53: i/o timeout","request":{"body":"{\"auth\":{\"context\":{\"source\":\"srv\"},\"identity\":{\"methods\":[\"password\"],\"password\":{\"user\":{\"domain\":...ult\"},\"name\":\"system\"}}}}","headers":{"Content-Length":"238","Content-Type":"application/json","User-Agent":"yunioncloud-go/201708","X-Yunion-Parent-Id":"","X-Yunion-Peer-Service-Name":"host","X-Yunion-Remote-Addr":"default-keystone:30357","X-Yunion-Span-Id":"0","X-Yunion-Span-Name":"","X-Yunion-Strace-Debug":"true","X-Yunion-Strace-Id":"9edad442"},"method":"POST","url":"https://default-keystone:30357/v3/auth/tokens"}}}
goroutine 1 [running]:
runtime/debug.Stack()
	/usr/lib/go/src/runtime/debug/stack.go:24 +0x64
runtime/debug.PrintStack()
	/usr/lib/go/src/runtime/debug/stack.go:16 +0x1c
yunion.io/x/log.Fatalf({0x2fd3be1, 0x19}, {0x4001047c08, 0x1, 0x1})
	/root/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/log/log.go:138 +0x30
yunion.io/x/onecloud/pkg/mcclient/auth.AsyncInit(0x4001752fc0, 0x30?, 0x35?, {0x40018743e0?, 0x2140c?}, {0x4001874420?, 0x20?}, 0x0)
	/root/go/src/yunion.io/x/onecloud/pkg/mcclient/auth/auth.go:448 +0xe0
yunion.io/x/onecloud/pkg/mcclient/auth.Init(...)
	/root/go/src/yunion.io/x/onecloud/pkg/mcclient/auth/auth.go:455
yunion.io/x/onecloud/pkg/cloudcommon/app.InitAuth(0x575bc70, 0x3128b68)
	/root/go/src/yunion.io/x/onecloud/pkg/cloudcommon/app/auth.go:75 +0x320
yunion.io/x/onecloud/pkg/hostman.(*SHostService).RunService(0x4000a998b0?)
	/root/go/src/yunion.io/x/onecloud/pkg/hostman/host_services.go:88 +0xf4
yunion.io/x/onecloud/pkg/cloudcommon/service.(*SServiceBase).StartService(0x4000a639f8)
	/root/go/src/yunion.io/x/onecloud/pkg/cloudcommon/service/services.go:58 +0xdc
yunion.io/x/onecloud/pkg/hostman.StartService(...)
	/root/go/src/yunion.io/x/onecloud/pkg/hostman/host_services.go:214
main.main()
	/root/go/src/yunion.io/x/onecloud/cmd/host/main.go:30 +0xf0
[fatal 2026-06-03 14:43:18 auth.AsyncInit(auth.go:448)] Auth manager init err: authAdmin: {"error":{"class":"DNSError","code":499,"details":"Post \"https://default-keystone:30357/v3/auth/tokens\": dial tcp: lookup default-keystone on 10.96.0.10:53: read udp 10.96.0.10:55199->10.96.0.10:53: i/o timeout","request":{"body":"{\"auth\":{\"context\":{\"source\":\"srv\"},\"identity\":{\"methods\":[\"password\"],\"password\":{\"user\":{\"domain\":...ult\"},\"name\":\"system\"}}}}","headers":{"Content-Length":"238","Content-Type":"application/json","User-Agent":"yunioncloud-go/201708","X-Yunion-Parent-Id":"","X-Yunion-Peer-Service-Name":"host","X-Yunion-Remote-Addr":"default-keystone:30357","X-Yunion-Span-Id":"0","X-Yunion-Span-Name":"","X-Yunion-Strace-Debug":"true","X-Yunion-Strace-Id":"9edad442"},"method":"POST","url":"https://default-keystone:30357/v3/auth/tokens"}}}

环境/Environment:

  • OS (e.g. cat /etc/os-release):
    NAME="openEuler"
    VERSION="22.03 (LTS-SP3)"
    ID="openEuler"
    VERSION_ID="22.03"
    PRETTY_NAME="openEuler 22.03 (LTS-SP3)"
    ANSI_COLOR="0;31"

  • Kernel (e.g. uname -a):
    Linux eda-cloud-mgr.icc.local 5.10.0-182.0.0.95.oe2203sp3.x86_64 scheduler: fix specified network not enough still pass. #1 SMP Sat Dec 30 13:10:36 CST 2023 x86_64 x86_64 x86_64 GNU/Linux

  • Host: (e.g. dmidecode | egrep -i 'manufacturer|product' |sort -u)
    Manufacturer: QEMU
    Product Name: Standard PC (i440FX + PIIX, 1996)

  • Service Version (e.g. kubectl exec -n onecloud $(kubectl get pods -n onecloud | grep climc | awk '{print $1}') -- climc version-list):

其中,历史遗留问题已处理:
https://www.cloudpods.org/v3.11/docs/onpremise/operations/platform-issues/dns

也有查看这个文档:
https://www.cloudpods.org/v3.11/docs/onpremise/operations/k8s/dnserror

其中:(openvswitch 重启前 status 还有,重启后好像不用了?)
[root@anode-03 ~]# systemctl status openvswitch
○ openvswitch.service - Open vSwitch
     Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
[root@anode-03 ~]#
[root@anode-03 ~]# ipvsadm -Ln | grep -A 3 10.96.0.10
TCP  10.96.0.10:53 rr
  -> 10.40.136.120:53             Masq    1      0          0
TCP  10.96.0.10:9153 rr
  -> 10.40.136.120:9153           Masq    1      0          0
TCP  10.97.86.26:8000 rr
  -> 172.20.2.100:8000            Masq    1      0          0
--
UDP  10.96.0.10:53 rr
  -> 10.40.136.120:53             Masq    1      0          434

[root@anode-03 ~]# ip route | grep 10.40.136
10.40.136.64/26 via 172.20.1.200 dev tunl0 proto bird onlink


kubectl -n kube-system edit daemonset calico-node
        - name: IP_AUTODETECTION_METHOD
          value: can-reach=172.20.1.200

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions