Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] Bump k8s.io to v0.31.x across various repositories #9683

Closed
5 of 9 tasks
stevenctl opened this issue Jun 25, 2024 · 6 comments · Fixed by solo-io/skv2#584
Closed
5 of 9 tasks

[Epic] Bump k8s.io to v0.31.x across various repositories #9683

stevenctl opened this issue Jun 25, 2024 · 6 comments · Fixed by solo-io/skv2#584
Assignees
Labels
Area: Gloo Gateway Issues related to the Gloo Gateway project Area: Kubernetes Issues related to Kubernetes Prioritized Indicating issue prioritized to be worked on in RFE stream Type: Enhancement New feature or request

Comments

@stevenctl
Copy link
Contributor

stevenctl commented Jun 25, 2024

Gloo Edge Product

Open Source

Gloo Edge Version

1.18

Is your feature request related to a problem? Please describe.

I want Gloo Edge to use the latest stable Kubernetes version

Tasklist

Core tasks:

Tasks

Nice-to-haves:

Tasks


Previous issue description:

High Level Tasks

Walk through the Kubernetes release notes, understanding what has changed since K8s 1.29

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md#changelog-since-v1290

I don't see any horribly concerning behavior changes, although there is a lot of stuff done to improve JWTAuthenticators. I don't think this impacts us. There aren't any concerning top-level API changes.

Go API changes are mostly superficial:

  • controller-runtime: leaderelection.SwitchMetric is now leaderelection.LeaderMetric and requires an additional SlowpathExercised handler.
  • controller-runtime: some params to Watch moved to source.Kind (already handled in skv2, the only place I see it affecting our code)

Update Individual Repos

Additional Context

#8978 [ ]

Additional Context

#8978

┆Issue is synchronized with this Asana task by Unito

@stevenctl stevenctl added the Type: Enhancement New feature or request label Jun 25, 2024
@stevenctl stevenctl self-assigned this Jun 25, 2024
@DuncanDoyle DuncanDoyle added Area: Gloo Gateway Issues related to the Gloo Gateway project Area: Kubernetes Issues related to Kubernetes labels Jul 4, 2024
@stevenctl
Copy link
Contributor Author

Istio is already on 1.31 - should we catch up istio/istio#52661

@tjons
Copy link
Contributor

tjons commented Aug 19, 2024

After discussion, we are going to try to upgrade from 1.29 -> 1.31 as we would like to allow the changes to soak as long as possible before release. There is an open discussion around whether to include go 1.23 as well to knock out all the upgrades in one pass, I anticipate we will make that decision by tomorrow.

For today, I've documented information about the 1.30 -> 1.31 release:
The 1.31 Changelog is here: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1300. There are some interface changes for custom scheduler plugins (which does not impact gloo), as well as the removal of the --keep-terminated-pod-volumes kubelet flag. This should not affect gloo either.

I will add any discovered issues as I work through the upgrade process in this github issue.

To-do list with individual repos

@tjons tjons changed the title Kubernetes 1.30 Kubernetes 1.30/1.31 Aug 20, 2024
@tjons
Copy link
Contributor

tjons commented Aug 20, 2024

After discussion, we will complete #9819 in parallel, upgrading to go1.23 while upgrading to k8s 1.31. I anticipate significant time savings from doing this and expect minimal issues.

@sam-heilbron sam-heilbron added the Prioritized Indicating issue prioritized to be worked on in RFE stream label Aug 21, 2024
@timflannagan
Copy link
Contributor

@tjons Just a heads up that bumping controller-runtime to 0.18+ will break our builds. I decided to replace pin that dependency in #9933. AFAIK, we're manually vendoring a package from c-r for leader election metrics (and c-r manually depends that package from client-go), so it's not a ton of leg work to get builds back online.

@timflannagan
Copy link
Contributor

timflannagan commented Sep 24, 2024

Just quickly tracking these TODOs to avoid losing the context while things continue to progress:

  • Refactor this issue to be an epic?
  • Bump rate-limiter to unblock RFE team
  • Bump go-control-plane & projects/envoyinit/hack/filter_types/filter_types.gen.go
    • Handle any ext_proc plugin changes with updated go-control-plane versions. Note, this is likely downstream specific and not OSS facing
  • Investigate the sizeCache changes with updated protobuf dependency. We needed to change unit tests that were previously using To(Equal(...)) gomega matcher semantics and needed to be updated to our custom matcher library or changed to To(BeEquivalentTo(...)) to avoid a deep equality check
    • Previously sizeCache was 0 and the newer protobuf dependency had sizeCache set to 1 (or vice-versa)
  • https://github.com/solo-io/solo-projects/issues/6976
  • https://github.com/solo-io/solo-projects/issues/6975

@timflannagan timflannagan changed the title Kubernetes 1.30/1.31 [Epic] Bump k8s.io dependencies across various repositories Sep 27, 2024
@timflannagan timflannagan changed the title [Epic] Bump k8s.io dependencies across various repositories [Epic] Bump k8s.io to v0.31.x across various repositories Sep 27, 2024
@timflannagan
Copy link
Contributor

Going to close this out now that all the repos have been updated. I created issues for any follow-up work that needs to be tracked in the short term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Gloo Gateway Issues related to the Gloo Gateway project Area: Kubernetes Issues related to Kubernetes Prioritized Indicating issue prioritized to be worked on in RFE stream Type: Enhancement New feature or request
Projects
None yet
6 participants