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

[EKS] [request]: Prevent CoreDNS pods from running on the same Node #2530

Open
Vahan90 opened this issue Jan 26, 2025 · 0 comments
Open

[EKS] [request]: Prevent CoreDNS pods from running on the same Node #2530

Vahan90 opened this issue Jan 26, 2025 · 0 comments
Labels
Proposed Community submitted issue

Comments

@Vahan90
Copy link

Vahan90 commented Jan 26, 2025

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request
What do you want us to build?

  • Feature request, try to limit the amount of CoreDNS pods from running on the same Node.

Which service(s) is this request for?
This could be Fargate, ECS, EKS, ECR

  • EKS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.

  • As of today, there is a limit of 1024 packets per second per ENI
  • We learned the lesson the hard way, out of stroke of bad luck, we hit this limit because our pods were all scheduled on the same node
  • Currently only a preferred spread is done for availability zones, but that is not enough in my opinion
  • What I want is to ensure that other people would not have to go through DNS throttling.

The current default topology constraint:

topologySpreadConstraints = [
  { #default constraint
    maxSkew           = 1
    topologyKey       = "topology.kubernetes.io/zone"
    whenUnsatisfiable = "ScheduleAnyway"
    labelSelector = {
      matchLabels = {
        k8s-app = "kube-dns"
      }
    }
  },

Are you currently working around this issue?
How are you currently solving this problem?

  • Yes, by enabling node-local-dns and enforcing to schedule on multiple different nodes/hosts:
    topologySpreadConstraints = [
      { #default constraint
        maxSkew           = 1
        topologyKey       = "topology.kubernetes.io/zone"
        whenUnsatisfiable = "ScheduleAnyway"
        labelSelector = {
          matchLabels = {
            k8s-app = "kube-dns"
          }
        }
      },
      {
        maxSkew           = 1
        topologyKey       = "kubernetes.io/hostname"
        whenUnsatisfiable = "DoNotSchedule"
        labelSelector = {
          matchLabels = {
            k8s-app = "kube-dns"
          }
        }
      }
    ]

Additional context
Anything else we should know?

Attachments
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)

Note

Please tell me if this issue has been asked before, as I did not find it (yet).

  • I am interested in working on this
@Vahan90 Vahan90 added the Proposed Community submitted issue label Jan 26, 2025
@Vahan90 Vahan90 changed the title [CoreDNS] [request]: Prevent CoreDNS pods from running on the same Node [EKS] [request]: Prevent CoreDNS pods from running on the same Node Jan 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Proposed Community submitted issue
Projects
None yet
Development

No branches or pull requests

1 participant