-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider having Route not become Ready
until DNS resolves
#1598
Comments
/assign @evankanderson PTAL and see if this makes sense. |
Setting the default dns host to |
For We could probably try something like Or if we could limit the Route to only resolve cluster-internal names, and adds an [optional] Dispatch component to configure mappings from external domain names to cluster internal names, we could perform this check for Dispatch and not Route. WDYT? |
Also, I am not aware of a time-based trigger for a reconcilation, doing this probing in WDYT about spinning up short-lived probers after a |
With respect to Controllers will perform a periodic resync; I think we have the resync period configured to be 5 minutes right now, though: https://github.com/knative/serving/blob/master/cmd/controller/main.go#L105 The DNS lookup could also be done in-memory, though I'd be worried about clogging our reconciliation threads. |
I am receptive to this idea, but the assertion is somewhat context sensitive (e.g. it may resolve some places, not others, /assign @tcnghia PS - our current resync period is 30s (IIRC, kubebuilder may have a longer cycle in eventing) |
Default controller-runtime cycle is 10 hours and that's what eventing is using. Resync period is now configurable as of kubernetes-sigs/controller-runtime#88. |
tl;dr I think I'm inclined to close this in favor of other issues. Users can use The above combined with the subjectivity of DNS "readiness" (e.g. given DNS caching settings), and a lurking desire to work even when DNS isn't functioning are motivating me to close this. Feel free to |
Expected Behavior
When a Route is
Ready
, I can reach it at some DNS name. (From places where I can resolve the DNS name*).* if my cluster name is
srv.cluster.local
, I'd expect names to only resolve within the cluster.Actual Behavior
Route will report that it is
Ready
even if the reporteddomainname
doesn't exist.Steps to Reproduce the Problem
curl
against the Service's domainname.Additional Info
We should have the Route controller check that the DNS name resolves (possibly check that it's pointed at the Istio ingress?), and report the status in a new Condition type. I suggest the name
DnsResolved
.We should also switch
config-domain.yaml
to point tosrv.cluster.local
so that DNS works (within the cluster) out of the box.The text was updated successfully, but these errors were encountered: