Closed skyzh closed 6 months ago
is it ok that controller-tools v0.14.0 depends on k8s 1.29 but autoscaling requires 1.25?
from controller-tool go.mod
k8s.io/api v0.29.0
k8s.io/apiextensions-apiserver v0.29.0
k8s.io/apimachinery v0.29.0
maybe not..? and probably that's why i cannot spin up any VM for the past hour 🤣 maybe i'll set up a user-local go compiler on devserver instead.
In general, the issue we have is that the scheduler must have a version equal or -1 from the k8s API server, otherwise it'll just silently not work. And because everything has the same go.mod, every component will in practice use the same k8s version as the scheduler. Our local dev, staging, and prod clusters are all 1.25, so while in theory it's possible for us to use k8s 1.25 deps with code generated by controller-tools for 1.29, IMO it's likely to have hard-to-debug errors.
Let's keep this pull request on hold and don't merge. TL;DR, anyone working on autoscaling will need to use go <= 1.21.
Blocked on k8s upgrade
I hit this issue on the dev machine. The controller tools panic when generating the files. Upgrading controller tools fix the issue.
Not sure if this would impact production environment / is it necessary to do this upgrade now? Anyways, I'm just testing it out in my own environment so it's fine if we decide not to upgrade.
And I'm new to k8s so not sure if all these yaml files should be included in this pull request or not. Thanks for reviews!