Skip to content
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

feat: support providing multiple dns ips #7546

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

woehrl01
Copy link
Contributor

@woehrl01 woehrl01 commented Dec 20, 2024

Fixes #4836

Description

Updates all linux code paths to use all provided dns server ip addresses. Which are provided via the Ec2NodeTemplate.

How was this change tested?

Does this change impact docs?

  • Yes, PR includes docs updates
  • Yes, issue opened: #
  • No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Copy link

netlify bot commented Dec 20, 2024

Deploy Preview for karpenter-docs-prod canceled.

Name Link
🔨 Latest commit 62cb956
🔍 Latest deploy log https://app.netlify.com/sites/karpenter-docs-prod/deploys/678d08f3a8dec10008a7825b

@woehrl01 woehrl01 marked this pull request as ready for review December 20, 2024 11:15
@woehrl01 woehrl01 requested a review from a team as a code owner December 20, 2024 11:15
Copy link
Contributor

github-actions bot commented Jan 3, 2025

This PR has been inactive for 14 days. StaleBot will close this stale PR after 14 more days of inactivity.

Copy link
Contributor

This PR has been inactive for 14 days. StaleBot will close this stale PR after 14 more days of inactivity.

@jmdeal jmdeal added the help-wanted Extra attention is needed label Jan 27, 2025
@heshamelsherif97
Copy link

This is a critical feature that needs to be supported, as there are valid use cases for using CoreDNS as a secondary cluster DNS in setups where node-local-DNS is in use.

It seems that the PR might be inadvertently breaking the isIPv6() function:

.

We should update the implementation to ensure IPv6 configurations remain unaffected.

@woehrl01
Copy link
Contributor Author

@heshamelsherif97 Which concerns do you have about breaking this function? Of course, it could break it you pass in an ipv4 address in an ipv6 cluster for DNS resolution.

@heshamelsherif97
Copy link

I'm specifically referring to this line:

return net.ParseIP(e.KubeletConfig.ClusterDNS[0]).To4() == nil

It appears that the current check assumes the first element in the list determines whether Karpenter should pass the --ip-family ipv6 argument to the bootstrap script:
https://github.com/aws/karpenter-provider-aws/blob/62cb956e8bc5348a50bfb77b3307d49741fc88ec/pkg/providers/amifamily/bootstrap/eksbootstrap.go#L69C30-L69C46

However, with this new change allowing multiple IPs to be provided, this approach may not be entirely correct in my humble opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help-wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bottlerocket with mulitple cluster-dns
3 participants