-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Title: STRICT DNS cluster without endpoints block CDS
Description:
A STRICT DNS cluster without endpoints as below will always in the warming state which make CDS can not to send new CDS request to control plane. Although it is ok if control plane never restart because control plane will continue to send new cluster config to Envoy. But if control plane restart, Envoy will not send new CDS request to control plane and control plane will not send new cluster config to Envoy. When this problem occurs, all new clusters fail to take effect, causing the route to return 503 + NR.
clusters:
- name: service1
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
load_assignment:
cluster_name: service1
From the source code, I found that if the STRICT DNS cluster does not have endpoints, it will not be able to enter the DNS resolution process, and thus cannot trigger the callback function to complete cluster initialization. This keeps the cluster in a warning state.
Although I know this is a configuration issue, does the community have a plan to address this issue, such as adding additional validations to reject misconfigured configurations, or allowing STRICT DNS clusters with no endpoints to complete initialization directly?