Skip to content

Add DNSDomain as a proxyConfig option, used to be values.yaml only #3234

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

Closed
wants to merge 1 commit into from

Conversation

costinm
Copy link
Contributor

@costinm costinm commented Jun 7, 2024

See the comments - most of our configuration is now in MeshConfig/ProxyConfig or env variables - this currently is configurable via values.yaml and gets set via '--domain' flag in Istiod and agent.

This is called 'clusterDomain' in kubelet and dnsDomain in kubeadmin - I used the later as name, don't mind using the first but it would be best to be one of the 2 to reduce confusion.

It is a very old setting - only existing comment is "# CAUTION: It is important to ensure that all Istio helm charts specify the same clusterDomain value"

Use of K8S with a different suffix is rare, but some vendors and kubeadmin allows this to be set.
Despite the age - in Istio 1.0 was called proxyDomain, 1.1 changed it to clusterDomain - this is a rarely used option and test coverage is limited, but it is required if K8S is set to use a custom domain instead of cluster.local, or the generated config will break FQDNs.

The goal is to improve documentation/testing and allow setting this via MeshConfig for consistency (and simplify a bit the related code)

@costinm costinm requested a review from a team as a code owner June 7, 2024 15:34
@istio-policy-bot
Copy link

😊 Welcome @costinm! This is either your first contribution to the Istio api repo, or it's been
a while since you've been here.

You can learn more about the Istio working groups, Code of Conduct, and contribution guidelines
by referring to Contributing to Istio.

Thanks for contributing!

Courtesy of your friendly welcome wagon.

@istio-testing istio-testing added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jun 7, 2024
@istio-testing
Copy link
Collaborator

@costinm: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
release-notes_api 6b9f8c3 link false /test release-notes
gencheck_api 6b9f8c3 link true /test gencheck

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. I understand the commands that are listed here.

@costinm costinm added the release-notes-none Indicates a PR that does not require release notes. label Jun 7, 2024
// https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-DNS
//
// $hide_from_docs
string DNSDomain = 40;
Copy link
Member

Choose a reason for hiding this comment

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

This only controls istio-agent (?) but we need it in istiod as well. What does that mean for usage?

@costinm
Copy link
Contributor Author

costinm commented Jun 7, 2024 via email

@costinm
Copy link
Contributor Author

costinm commented Jun 7, 2024 via email

@howardjohn
Copy link
Member

proxy config is a per-pod setting so I don't see how it can impact mesh-wide settings in istiod

@costinm
Copy link
Contributor Author

costinm commented Jun 7, 2024 via email

@costinm
Copy link
Contributor Author

costinm commented Jun 7, 2024 via email

@hzxuzhonghu
Copy link
Member

And there is TrustDomain there, we usually set this same as DNSDomain, so what's the difference between them

@costinm
Copy link
Contributor Author

costinm commented Jun 11, 2024 via email

@costinm
Copy link
Contributor Author

costinm commented Jun 26, 2024

I think there are better solutions - and ProxyConfig is indeed confusing since it's also used for client. We'll probably need multiple domains anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-notes-none Indicates a PR that does not require release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants