I'm working on migrating our services from eks1.14 to eks1.18 cluster. I see lots of errors on some of our deployments .
Can someone pls let me know , How can I solve this error?
May 19th 2021, 10:56:30.297 io.fabric8.kubernetes.client.KubernetesClientException: too old resource version: 13899376 (13911551)
at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1.onMessage(WatchConnectionManager.java:259)
at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:323)
at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:219)
at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:105)
at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:274)
at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:214)
This is a standard behaviour of Kubernetes. When you ask to see changes for a resourceVersion
that is too old - i.e. when it can no longer tell you what has changed since that version, since too many things have changed. So, you should avoid upgrading several versions at once. Try to update your cluster from 1.14 to 1.15, then from 1.15 to 1.16 and so on.
You can also read more about very similar problem here. There you can find another solution of your problem.
Secondary in the documentation of Amazon EKS, we can find:
Updating a cluster from 1.16 to 1.17 will fail if you have any AWS Fargate pods that have a
kubelet
minor version earlier than 1.16. Before updating your cluster from 1.16 to 1.17, you need to recycle your Fargate pods so that theirkubelet
is 1.16 before attempting to update the cluster to 1.17.
Based on this example and the huge amount of dependencies, it is a good idea to upgrade the cluster version by version.