kubernetes-sigs / kubernetes-sigs/aws-load-balancer-controller

unable to upgrade from alb 3.0 to 3.2

Open
#4,699 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.3k
Forks
1.6k
Avg merge
1d 15h
Merged PRs (30d)
6

Description

**Bug Description**

Hello ,
i tried to upgrade from 3.0 to 3.2 and i'm getting the following error when applying CRDs gateway API version 1.5.0 `The CustomResourceDefinition "httproutes.gateway.networking.k8s.io" is invalid: metadata.annotations: Too long: may not be more than 262144 bytes`
**Steps to Reproduce**

- Step-by-step guide to reproduce the bug:
1. install helm chart alb 3.0.0
2. install all the gateway api CRDs 1.3.0 (standard-install.yaml, experimental-install.yaml and gateway-crds.yaml)
3. upgrade to alb 3.2.1
4. . install all the gateway api CRDs 1.5.0 (standard-install.yaml, experimental-install.yaml and gateway-crds.yaml)

**Expected Behavior**
apply pass correctly
**Actual Behavior**
crd not applied correctly,
error:
```
$ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/latest/download/experimental-install.yaml
customresourcedefinition.apiextensions.k8s.io/backendtlspolicies.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/listenersets.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/tcproutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/tlsroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/udproutes.gateway.networking.k8s.io configured
validatingadmissionpolicy.admissionregistration.k8s.io/safe-upgrades.gateway.networking.k8s.io configured
validatingadmissionpolicybinding.admissionregistration.k8s.io/safe-upgrades.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/xbackendtrafficpolicies.gateway.networking.x-k8s.io configured
customresourcedefinition.apiextensions.k8s.io/xmeshes.gateway.networking.x-k8s.io configured
The CustomResourceDefinition "httproutes.gateway.networking.k8s.io" is invalid: metadata.annotations: Too long: may not be more than 262144 byte
```
**Regression**
Was the functionality working correctly in a previous version ?Yes , 3.0.0
If yes, specify the last version where it worked as expected

**Current Workarounds**

tried to apply with `kubectl --server-side` but it's not working
**Environment**
- AWS Load Balancer controller version: 3.2.1
- Kubernetes version: v1.34.4-eks-f69f56f
- Using EKS (yes/no), if so version?:
- Using Service or Ingress: gateway api
- AWS region: eu-west-3
- How was the aws-load-balancer-controller installed:
- If helm was used then please show output of `helm ls -A | grep -i aws-load-balancer-controller`
```
aws-load-balancer-controller aws-alb 2 2026-04-14 15:06:16.002129835 +0200 CEST deployed aws-load-balancer-controller-3.2.1 v3.2.1
```
- If helm was used then please show output of `helm -n get values `
```
clusterName: xxx
controllerConfig:
featureGates:
ALBGatewayAPI: true
NLBGatewayAPI: true
defaultTargetType: ip
enableShield: false
enableWAF: false
enableWAFV2: false

logLevel: info
region: eu-west-3
serviceAccount:
name: aws-load-balancer-controller
tolerations:
- effect: NoSchedule
key: NodeType
operator: Equal
value: Infrastructure
vpcId: xxx
```
- If helm was not used, then copy/paste the exact command used to install the controller, including flags and options.
- Current state of the Controller configuration:
- `kubectl -n describe deployment aws-load-balancer-controller`
- Current state of the Ingress/Service configuration:
- `kubectl describe ingressclasses`
- `kubectl -n describe ingress `
- `kubectl -n describe svc `

**Possible Solution (Optional)**

**Contribution Intention (Optional)**

- [ ] Yes, I'm willing to submit a PR to fix this issue
- [ ] No, I cannot work on a PR at this time

**Additional Context**

i think it's related to this:https://github.com/kubernetes-sigs/gateway-api/issues/4156

Contributor guide

Open the contributing guide

Research direction

Start with the Helm chart upgrade from aws-load-balancer-controller 3.0.0 to 3.2.1 and reproduce the failure by applying the Gateway API 1.5.0 CRD manifests with kubectl. Compare the reported metadata annotation limit error with the referenced gateway-api issue and the controller's Gateway API integration. Done means the documented upgrade path applies the CRDs successfully on the stated Kubernetes version.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, go, helm, kubernetes
Domain
api, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.