-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
What were you trying to accomplish?
I tried to update default add-ons, aws-node(cni), kube-proxy, coredns with latest version. But it has different minor or patch version. I couldn't update the latest version that listed on the result of command 'eksctl utils describe-addon-versions'.
After upgrading cluster and components(default addson), it is able to have them with the latest version?
What happened?
eksctl utils describe-addon-versions --kubernetes-version 1.27 --name vpc-cni | grep AddonVersion
"AddonVersions": [
"AddonVersion": "v1.18.2-eksbuild.1",
"AddonVersion": "v1.18.1-eksbuild.3",
"AddonVersion": "v1.18.1-eksbuild.1",
"AddonVersion": "v1.18.0-eksbuild.1",
"AddonVersion": "v1.17.1-eksbuild.1",
...
As above list, I should be able to update with v1.18.2-eksbuild.1 for Default add-ons with 'eksctl utils update-aws-node --cluster=' command as follow documentation, https://eksctl.io/usage/addon-upgrade/
I had a result as below
$ kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
v1.18.1
it was same for kube-proxy,
eksctl utils describe-addon-versions --kubernetes-version 1.27 --name kube-proxy | grep AddonVersion
"AddonVersions": [
"AddonVersion": "v1.27.12-eksbuild.5",
"AddonVersion": "v1.27.12-eksbuild.2",
"AddonVersion": "v1.27.10-eksbuild.2",
"AddonVersion": "v1.27.8-eksbuild.4",
"AddonVersion": "v1.27.8-eksbuild.1",
"AddonVersion": "v1.27.6-eksbuild.2",
"AddonVersion": "v1.27.4-eksbuild.2",
"AddonVersion": "v1.27.3-eksbuild.2",
"AddonVersion": "v1.27.3-eksbuild.1",
But after update kube-proxy, I got v1.27.13-eksbuild.1.
How to reproduce it?
I have created 1.25 version eks cluster and gradually upgrade with control plane as the document. Then I used the command for Default addons.
eksctl utils update-kube-proxy --cluster=<clusterName>
eksctl utils update-aws-node --cluster=<clusterName>
eksctl utils update-coredns --cluster=<clusterName>
As a result, I got the updated version for each component as below
kube-proxy : v1.27.13-eksbuild.1
coredns : v1.10.1-eksbuild.4
aws-node : v1.18.1
Then I configured with config file as below:
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: my-cluster125
region: us-east-2
addons:
- name: vpc-cni
version: v1.18.2-eksbuild.1
resolveConflicts: overwrite
However, it didn't work to update from v1.18.1 to the latest.
And after the manual updating with latest version's yaml file, it was updated to the expected version.
There is minor ddiscrepancy when updating with command "eksctl utils update-aws-node/kube-proxy/coredns"
Logs
The logs of eksctl utils update-aws-node --cluster=my-cluster125
2024-07-02 20:14:46 [ℹ] replaced "CustomResourceDefinition.apiextensions.k8s.io/eniconfigs.crd.k8s.amazonaws.com"
2024-07-02 20:14:46 [ℹ] replaced "CustomResourceDefinition.apiextensions.k8s.io/policyendpoints.networking.k8s.aws"
2024-07-02 20:14:47 [ℹ] skipped existing "kube-system:ServiceAccount/aws-node"
2024-07-02 20:14:47 [ℹ] replaced "kube-system:ConfigMap/amazon-vpc-cni"
2024-07-02 20:14:47 [ℹ] replaced "ClusterRole.rbac.authorization.k8s.io/aws-node"
2024-07-02 20:14:48 [ℹ] replaced "ClusterRoleBinding.rbac.authorization.k8s.io/aws-node"
2024-07-02 20:14:48 [ℹ] replaced "kube-system:DaemonSet.apps/aws-node"
2024-07-02 20:14:48 [ℹ] "aws-node" is now up-to-date
Anything else we need to know?
I downloaded eksctl with brew, version is 0.183.0
Versions
eksctl info
eksctl version: 0.183.0
kubectl version: v1.30.2
OS: darwin