Update k8s client go to 11.0
What does this MR do?
k8s.io/client-go dependency to
release-11.0 along with other steps.
Why was this MR needed?
client-go which is the Go SDK for Kubernetes is currently in version
12.0, and version used by Runner (
7.0) is deprecated for a while now. It also doesn't match the most recent and popular versions of Kubernetes.
In !1341 (closed) we've started a work on upgrading the SDK to version
8.0. We've discussed this on slack (https://gitlab.slack.com/archives/CBQ76ND6W/p1570096904141700), and decided that it's probably better to aim to a newer version of the SDK:
The 8.0 version of
client-godeprecated and there is a 12.0 version marked as the latest.
According to the compatibility matrix (https://github.com/kubernetes/client-go#compatibility-matrix) client 8.0 matches exactly K8S 1.11, which is also quite old. While the newest SDK 12.0 is mostly compatible with K8S 1.15.
GKE uses 1.13 as the default, and supports 1.12-1.14. DigitalOcean supports 1.13-1.15. Azure uses 1.13 by default and supports between 1.10-1.15. Amazon EKS supports 1.11-1.14.
Anyway, updating to a deprecated, old version of SDK doesn't seem as the best idea. Should we aim something newer?
Looking on the supported versions in cloud hosted clusters, I think it would be best to chose K8S 1.14, so the SDK 11.0.
We also believe that the upgrade of the SDK may resolve problems like #4119, which is another reason to do it.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
- Documentation created/updated
- Added tests for this feature/bug
In case of conflicts with
master- branch was rebased
What are the relevant issue numbers?
Closes #3518 (closed)
Related to #4119
Surpasses !1341 (closed)