Skip to content

STRICT DNS cluster without endpoints block CDS #9963

@wbpcode

Description

@wbpcode

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions