Skip to content

EKS kube-proxy Add-On doesn't create kube-proxy pods on Windows nodes

0

I have an EKS cluster that has both Linux and Windows nodes. And I add the kube-proxy add-on through AWS web console, however, this add-on seems to only work for Linux nodes. How may I get it to also work on my Windows nodes? Thanks in advance!

            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/os
                operator: In
                values:
                - linux
              - key: kubernetes.io/arch
                operator: In
                values:
                - amd64
                - arm64
...
        image: 602401143452.dkr.ecr.us-west-2.amazonaws.com/eks/kube-proxy:v1.31.3-minimal-eksbuild.2

asked a year ago545 views

2 Answers
0

kube-proxy is baked into the EKS Windows AMIs, the daemonset is not needed and should not run on windows nodes

AWS

answered a year ago

-1

The issue you're experiencing with the EKS kube-proxy Add-On not creating pods on Windows nodes is due to the node selector configuration in the kube-proxy DaemonSet. The current configuration is specifically targeting Linux nodes, which explains why it's not deploying to your Windows nodes.

To enable kube-proxy on your Windows nodes, you need to make a few adjustments:

  1. First, ensure that your Windows nodes have the necessary RBAC permissions. The Windows node role should include the eks:kube-proxy-windows group. You can verify this in your aws-auth ConfigMap or through EKS Access Entries, depending on your cluster's authentication mode.

  2. You'll need to modify the kube-proxy configuration to include support for Windows nodes. This typically involves adding a separate DaemonSet or modifying the existing one to include Windows-specific settings.

  3. For Windows nodes, you'll need to use a Windows-compatible kube-proxy image. The image you're currently using is for Linux nodes.

  4. Update the node selector to include Windows nodes. You might need to add a separate node selector for Windows or modify the existing one to include both Linux and Windows.

  5. If you're using a self-managed kube-proxy add-on, you may need to update your userdata script for Windows nodes to include specific kube-proxy flags.

Given the complexity of running a mixed Linux and Windows node cluster, it's recommended to carefully review your cluster configuration and consider using the managed EKS add-ons when possible, as they can handle much of this complexity for you.

If you continue to face issues, you may need to consult with AWS support or review your cluster's specific configuration in more detail to ensure all components are correctly set up for a mixed node environment.
Sources
Deploy Windows nodes on EKS clusters - Amazon EKS
Windows Networking - Amazon EKS

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.