{"record":{"id":"c4cf7aa15ddc34d8","repo":"kubernetes/kops","slug":"error-getting-ingress-status-v-c4cf7a","errorCode":null,"errorMessage":"error getting ingress status: %v","messagePattern":"error getting ingress status: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/kubeconfig/create_kubecfg.go","lineNumber":105,"sourceCode":"\n\tvar server string\n\tif options.OverrideAPIServer != \"\" {\n\t\tserver = options.OverrideAPIServer\n\t} else if options.Internal {\n\t\tserver = \"https://\" + cluster.APIInternalName()\n\t} else {\n\t\tif cluster.Spec.API.PublicName != \"\" {\n\t\t\tserver = \"https://\" + wrapIPv6Address(cluster.Spec.API.PublicName)\n\t\t} else {\n\t\t\tserver = \"https://api.\" + clusterName\n\t\t}\n\n\t\t// If a load balancer exists we use it, except for when an SSL certificate is set.\n\t\t// This should avoid a lot of pain with DNS pre-creation.\n\t\tif cluster.Spec.API.LoadBalancer != nil && (cluster.Spec.API.LoadBalancer.SSLCertificate == \"\" || options.Admin != 0) {\n\t\t\tingresses, err := cloud.GetApiIngressStatus(cluster)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"error getting ingress status: %v\", err)\n\t\t\t}\n\n\t\t\tvar targets []string\n\n\t\t\tfor _, useInternalEndpoint := range []bool{false, true} {\n\t\t\t\tfor _, ingress := range ingresses {\n\t\t\t\t\tif !useInternalEndpoint && ingress.InternalEndpoint {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif ingress.Hostname != \"\" {\n\t\t\t\t\t\ttargets = append(targets, ingress.Hostname)\n\t\t\t\t\t}\n\t\t\t\t\tif ingress.IP != \"\" {\n\t\t\t\t\t\ttargets = append(targets, ingress.IP)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif len(targets) > 0 {\n\t\t\t\t\t// Prefer external addresses","sourceCodeStart":87,"sourceCodeEnd":123,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/pkg/kubeconfig/create_kubecfg.go#L87-L123","documentation":"Describing the load balancer (ingress) status to discover the API endpoint failed while building kubeconfig; a cloud API error (permissions, throttling, or the LB not yet existing) for the cluster's ELB/NLB.","triggerScenarios":"Thrown at pkg/kubeconfig/create_kubecfg.go:105 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify cloud credentials can describe load balancers","Check for cloud API throttling and retry","Use the --api-server override or wait for the LB if the cluster is mid-create"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}