Skip to content

[Bug] kube-proxy update will use non-existent add-on version depending on cluster version #8504

@buttcakes

Description

@buttcakes

What were you trying to accomplish?

Upgraded an EKS cluster in to 1.32. Attempted to use eksctl to upgrade kube-proxy:

eksctl utils update-kube-proxy --cluster=foobar --region $region

This resulted in the kube-proxy daemonset being set to use non-existent kube-proxy image v1.32.8-eksbuild.1. The latest advertised by EKS at the time for cluster version 1.32 is v1.32.6-eksbuild.8. This resulted in kube-proxy crashing in ImagePullBackOff and loss of some east/west network connectivity.

Summary of the bug:

EKS reports server version as v1.32.8

$ kubectl version
Server Version: v1.32.8-eks-e386d34

aws eks describe-addon-versions --kubernetes-version 1.32 --region us-east-1 --addon-name kube-proxy shows the latest kube-proxy version as v1.32.6-eksbuild.8

This code will use the latest of either the version returned by EKS API, or a version made up based on the k8s control plane full semver. If the control plane version contains a patch release that is ahead of the latest published addon version, eksctl ends up using a non-existent version.

Logs

Anything else we need to know?

Versions

$ eksctl info

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions