{"record":{"id":"c4c0f45c74622a0f","repo":"k3s-io/k3s","slug":"invalid-cluster-dns-address-s","errorCode":null,"errorMessage":"invalid cluster-dns address %s","messagePattern":"invalid cluster-dns address (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/cli/server/server.go","lineNumber":367,"sourceCode":"\tserverConfig.ControlConfig.SANs = append(serverConfig.ControlConfig.SANs, apiServerServiceIP.String())\n\n\t// If cluster-dns CLI arg is not set, we set ClusterDNS address to be the first IPv4 ServiceCIDR network + 10,\n\t// i.e. when you set service-cidr to 192.168.0.0/16 and don't provide cluster-dns, it will be set to 192.168.0.10\n\t// If there are no IPv4 ServiceCIDRs, an IPv6 ServiceCIDRs will be used.\n\t// If neither of IPv4 or IPv6 are found an error is raised.\n\tif len(cmds.ServerConfig.ClusterDNS.Value()) == 0 {\n\t\tfor _, svcCIDR := range serverConfig.ControlConfig.ServiceIPRanges {\n\t\t\tclusterDNS, err := utilsnet.GetIndexedIP(svcCIDR, 10)\n\t\t\tif err != nil {\n\t\t\t\treturn errors.WithMessage(err, \"cannot configure default cluster-dns address\")\n\t\t\t}\n\t\t\tserverConfig.ControlConfig.ClusterDNSs = append(serverConfig.ControlConfig.ClusterDNSs, clusterDNS)\n\t\t}\n\t} else {\n\t\tfor _, ip := range util.SplitStringSlice(cmds.ServerConfig.ClusterDNS.Value()) {\n\t\t\tparsed := net.ParseIP(ip)\n\t\t\tif parsed == nil {\n\t\t\t\treturn fmt.Errorf(\"invalid cluster-dns address %s\", ip)\n\t\t\t}\n\t\t\tserverConfig.ControlConfig.ClusterDNSs = append(serverConfig.ControlConfig.ClusterDNSs, parsed)\n\t\t}\n\t}\n\n\tserverConfig.ControlConfig.ClusterDNS = serverConfig.ControlConfig.ClusterDNSs[0]\n\n\tif err := validateNetworkConfiguration(serverConfig); err != nil {\n\t\treturn err\n\t}\n\n\tif cfg.DefaultLocalStoragePath == \"\" {\n\t\tdataDir, err := datadir.LocalHome(cfg.DataDir, false)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserverConfig.ControlConfig.DefaultLocalStoragePath = filepath.Join(dataDir, \"/storage\")\n\t} else {","sourceCodeStart":349,"sourceCodeEnd":385,"githubUrl":"https://github.com/k3s-io/k3s/blob/6ba341e396edc16b8dcae978a7c5e3ac7ee5606e/pkg/cli/server/server.go#L349-L385","documentation":"Error \"invalid cluster-dns address %s\" thrown in k3s-io/k3s.","triggerScenarios":"Thrown at pkg/cli/server/server.go:367 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6ba341e396edc16b8dcae978a7c5e3ac7ee5606e","analyzedAt":"2026-08-15T16:27:54.286Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}