Skip to content

Update to Kubernetes v1.36 - #11522

Draft
Anupama-P wants to merge 150 commits into
devfrom
kube-1.36
Draft

Update to Kubernetes v1.36#11522
Anupama-P wants to merge 150 commits into
devfrom
kube-1.36

Conversation

@Anupama-P

Copy link
Copy Markdown
Contributor

k8s-on-aws-manager-app Bot and others added 2 commits May 19, 2026 13:12
…er-159

Update container-registry.zalando.net/teapot/aws-cloud-controller-manager-internal to version v1.36.0-master-159
@Anupama-P Anupama-P added the major Major feature changes or updates, e.g. feature rollout to a new country, new API calls. label Jun 30, 2026
@mikkeloscar
mikkeloscar marked this pull request as draft July 2, 2026 08:42
Comment thread test/e2e/ingress_jig.go
mikkeloscar and others added 21 commits July 6, 2026 19:31
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
kube-1.36: Updates AMI with latest nvidia drivers
Update container-registry.zalando.net/cloud-platform/scheduled-scaling-vpa to version main-16
Update container-registry.zalando.net/cloud-platform/scheduled-scaling-vpa to version main-17
Update container-registry.zalando.net/cloud-platform/scheduled-scaling-vpa to version main-18
Update 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/admission-controller to version master-324
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
…-v2.3.3

kube-1.36: AMI with containerd v2.3.3
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
mikkeloscar and others added 29 commits August 10, 2026 08:40
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
@zalando-robot

Copy link
Copy Markdown

🤖 LLM Suggestions

[High] Removal of scheduling.k8s.io/v1alpha1 from --runtime-config without explicit migration note

The userdata.yaml change drops scheduling.k8s.io/v1alpha1=true from the API server's --runtime-config. In Kubernetes 1.36, the scheduling.k8s.io/v1alpha1 API group may have been removed or graduated to a stable version. Any workloads or controllers in your cluster that were explicitly relying on this beta/alpha API group path (e.g., custom schedulers or DRA-related tooling) could break silently if they reference the old group/version. The PR description (a single GitHub issue link) provides no context on whether dependent components have been audited.

Recommendation: Before merging, verify that no running controllers or admission webhooks target scheduling.k8s.io/v1alpha1. If any exist, confirm they have been updated or that the API is fully graduated to stable and the group path is still served under a different version.

  • ✅ Helpful, applying recommendation.
  • ⏳ Helpful but out of scope for this PR, will address in follow-up.
  • 👎 Not helpful, will not apply.

[High] Stale container registry for e2e test image

The Makefile still uses pierone.stups.zalan.do for the test image:

IMAGE ?= pierone.stups.zalan.do/teapot/$(BINARY)

pierone.stups.zalan.do is a deprecated registry at Zalando. The preferred registry is container-registry.zalando.net, which is also the only one supporting multi-arch images.

  • ✅ Helpful, applying recommendation.
  • ⏳ Helpful but out of scope for this PR, will address in follow-up.
  • 👎 Not helpful, will not apply.
Other non-critical findings

[Low] ingressTestJig.WaitForIngressAddress ignores transient errors

In ingress_jig.go, the polling function swallows API errors by returning (false, nil) instead of propagating them:

ing, err := c.NetworkingV1().Ingresses(ns).Get(ctx, ingName, metav1.GetOptions{})
if err != nil {
    return false, nil  // silently retries on all errors including "not found"
}

This means a misconfigured namespace or wrong ingress name will spin for the full timeout duration with no signal. Consider distinguishing between transient errors (e.g., server unavailable) and permanent ones (e.g., IsNotFound) so the poll fails fast when appropriate:

if apierrors.IsNotFound(err) {
    return false, nil // object not yet created, keep polling
}
if err != nil {
    return false, err // unexpected error, abort
}
  • ✅ Helpful, applying recommendation.
  • ⏳ Helpful but out of scope for this PR, will address in follow-up.
  • 👎 Not helpful, will not apply.

[Low] ingressTestJig exposes Client as a public field but also accepts c kubernetes.Interface as a parameter in WaitForIngressAddress

The method signature duplicates the client:

func (j *ingressTestJig) WaitForIngressAddress(ctx context.Context, c kubernetes.Interface, ns, ingName string, timeout time.Duration) (string, error)

The j.Client field is never used inside the method body — only the passed-in c is. This mirrors the original upstream API shape but introduces confusion. If the struct stores the client, callers should not also need to pass it as an argument. Consider simplifying to use j.Client internally, or document the reason for the dual pattern if it's required for backward compatibility with call sites that pass a different client.

  • ✅ Helpful, applying recommendation.
  • ⏳ Helpful but out of scope for this PR, will address in follow-up.
  • 👎 Not helpful, will not apply.

[Low] PR description is minimal

The PR description only contains a reference issue link with no summary of what was changed, why, or what testing was done. For a non-trivial Kubernetes major version upgrade affecting all node pools and the control plane, a brief description of the scope, rollback strategy, and any pre/post-upgrade steps would significantly aid reviewers and future readers of the git history.

  • ✅ Helpful, applying recommendation.
  • ⏳ Helpful but out of scope for this PR, will address in follow-up.
  • 👎 Not helpful, will not apply.

Tokens Used: Input: 110,400 | Output: 1,525 | Cache Write: 110,398 | Cache Read: 0 | Total cost: $0.4369

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge major Major feature changes or updates, e.g. feature rollout to a new country, new API calls.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants