Skip to content

feat: Add an ability to measure clusters with dns only control plane …#3802

Merged
k8s-ci-robot merged 1 commit intokubernetes:masterfrom
matix522:master
Feb 12, 2026
Merged

feat: Add an ability to measure clusters with dns only control plane …#3802
k8s-ci-robot merged 1 commit intokubernetes:masterfrom
matix522:master

Conversation

@matix522
Copy link
Copy Markdown
Contributor

…access

This update allows ClusterLoader2 to target clusters using a DNS endpoint for the control plane. It includes support for the MASTER_DNS_ENDPOINT environment variable and relevant configuration changes. Changed logging to show all of the Node adresses to allow for dualstack clusters.

What type of PR is this?

What type of PR is this?
/kind feature

What this PR does / why we need it:
This PR is needed by the GKE team to test the performance of clusters that use DNS address instead of IP address for cluster control plane

Special notes for your reviewer:

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Feb 10, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @matix522. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Feb 10, 2026
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 10, 2026
@mborsz
Copy link
Copy Markdown
Member

mborsz commented Feb 10, 2026

/ok-to-test
/assign @Qqkyu

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Feb 10, 2026
Comment on lines +658 to +660
if clusterConfig.MasterDNSEndpoint != "" {
return nil, fmt.Errorf("cluster has no master IPs, but has master DNS endpoint %s", clusterConfig.MasterDNSEndpoint)
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two related questions here

1st: Is this check position intended? In other words, even when the master-endpoint is set the following combinations:

  • usePublicIPs (using --prometheus-scrape-masters-with-public-ips) and having > 0 master IPs
  • > 0 master internal IPs

Shouldn't error here? I'm a bit confused because I'd assume that we'd add this check at the beginning of the getMasterIps function and/or not invoke this function at all when MasterDNSEndpoint is present.

2nd: Should we invoke this function if we have clusterConfig.MasterDNSEndpoint? AFAIU currently it'd go like this:

  1. NewController function invokes the getMasterIps always
  2. clustersConfig.MasterDNSEndpoint is specified, so we return error
  3. We display the Couldn't get master ip, will ignore manifests requiring it: %v

Probably not the end of the world, but should it really warn? It's a valid path after all?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good points, I moved the check to the top of the function (to disallow calling in future), as well as not calling this function in the first place when DNS endpoint is provided

@matix522 matix522 force-pushed the master branch 2 times, most recently from ac76dea to 45769d6 Compare February 11, 2026 13:32
…access

This update allows ClusterLoader2 to target clusters using a DNS endpoint for the control plane. It includes support for the MASTER_DNS_ENDPOINT environment variable and relevant configuration changes. Changed logging to show all of the Node adresses to allow for dualstack clusters.
@matix522
Copy link
Copy Markdown
Contributor Author

/retest

Copy link
Copy Markdown
Contributor

@Qqkyu Qqkyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 11, 2026
@mborsz
Copy link
Copy Markdown
Member

mborsz commented Feb 12, 2026

/approve

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: matix522, mborsz, Qqkyu

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 12, 2026
@k8s-ci-robot k8s-ci-robot merged commit cd79973 into kubernetes:master Feb 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants