Releases: kubernetes-sigs/aws-load-balancer-controller
v2.4.2
v2.4.2 (requires Kubernetes 1.19+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.4.2
Thanks to all our contributors! 😊
What's new
- This is a version with minimal changes which merely upgrade the base container image and Golang version.
Changelog since v2.4.1
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.2
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.2
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.2
v2.4.1
v2.4.1 (requires Kubernetes 1.19+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.4.1
Thanks to all our contributors! 😊
Action Required
🚨 🚨 🚨 The new HelmChart(version 1.4.1) and installation YAML for v2.4.1+ no longer contain the RBAC permission for controller to access Secret resources by default.
- If you don't use the authentication via OIDC IDP feature for any Ingresses in cluster, no action is needed.
- If you do use the authentication via OIDC IDP feature for any Ingress in cluster, you must grant the controller RBAC permission to access Secret resources been referenced. For backwards compatibility, the helm chart provides an option to grant controller RBAC permission to access all Secrets by explicitly setting
--set clusterSecretsPermissions.allowAllSecrets=true
. However, we recommend configuring separate namespaced Role/RoleBinding to grant controller access to your specific secret resources to strengthen security posture.
What's new
- Introduce a new featureGate named
EndpointsFailOpen
: Once enabled, when all eligible nodes get into "ready: unknown" state due to misconfiguration or outage, the controller will ensure fault-tolerance by registering nodes/pods in unknown state as targets to let load balancer still able to handle traffic. This featureGate is not enabled by default in this version and can be enabled via the controller flag--feature-gates=EndpointsFailOpen=true
. - The controller will no longer require permissions for all Secret resources. If the authentication via OIDC IDP feature is used, you must grant the controller RBAC permission to access the referenced Secret resources.
Bug fixes
- Fix issue with certificates reconcile so the controller can recover from TooManyCertificates error
- Fix race condition between pod readiness gate inject and ingress model update
- Restrict webhook server to TLS 1.3
- Monitor secrets only if necessary
- documentation changes
Changelog since v2.4.0
- update iam permissions for TGB only configuration (#2554, @kishorj)
- Update pods with readinessGate as healthy for deleted TGB (#2524, @oliviassss)
- add support to optionally fail-open when all nodes are been isolated (#2546, @M00nF1sh)
- monitor secret resources only if necessary (#2550, @kishorj)
- Upgrade webhook server minimum version to TLS1.3 (#2547, @oliviassss)
- Clarify cluster tag requirement in docs (#2527, @adammw)
- remove undesired certificates before adding new ones (#2528, @oliviassss)
- typo error (#2518, @nimboya)
- Updated test helper script for e2e tests (#2510, @cgchinmay)
- Make e2e LB name test work with clusters that have . in the name (#2516, @olemarkus)
- update docs-publish target to v2.4 (#2513, @kishorj)
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.1
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.1
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.1
v2.4.0
v2.4.0 (requires Kubernetes 1.19+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.4.0
Thanks to all our contributors! 😊
Note
This release uses the new Ingress API version networking.k8s.io/v1 available in kubernetes 1.19 and later releases. As a result, the v2.4.0 and later releases of the aws-load-balancer-controller
will not support kubernetes 1.18 and older versions. If you are running the older k8s version, you can either upgrade your cluster or use the v2.3.x version of the controller.
IMPORTANT If you are upgrading the controller from a prior version to v2.4.0, please apply the entire manifest or use helm due to the webhook changes.
For convenience, the v2.4.0 release manifest and the helm chart creates an IngressClass
resource named alb
by default.
What's new
- Support for Ingress API version networking.k8s.io/v1
- Support for service
spec.loadBalancerClass
- Option to disable security group rules management for NLB
- Merge tags between kubernetes ingress and services
- Helm chart create IngressClass and IngressClassParams by default
- Add servicemonitor to helm chart
- Helm chart
keepTLSSecret
is true by default - Provide a new feature gate
ServiceTypeLoadBalancerOnly
which can optionally limit the controller to service of typeLoadBalancer
Bug fixes
- Fix potentially slow resource reconciliation by caching AWS shield subscription state to mitigate API throttling issues
- Add default tags to the backend Security Group
- Ignore invalid ARN error while deleting TargetGroupBinding
- Documentation fixes
Changelog since v2.3.1
- doc updates for v2.4.0 (#2506, @kishorj)
- change IngressClassParams default name to alb (#2508, @kishorj)
- Helm chart for v2.4.0 release (#2503, @kishorj)
- Upgrade aws-sdk-go to 1.42.27 (#2500, @johngmyers)
- Add an option to disable SG rules management for NLB (#2481, @kishorj)
- make keepTLSSecret true by default (#2483, @kishorj)
- add support for loadBalancerClass (#2489, @kishorj)
- add documentation for manage-backend-security-group-rules (#2486, @kishorj)
- fix typo in annotations doc (#2482, @kishorj)
- Adding support of ingressClassParams in helm charts (#2478, @haouc)
- Merge tags from alb.ingress.kubernetes.io/tags (#2480, @oliviassss)
- feat(chart): add servicemonitor (#2335, @stevehipwell)
- Fetch aws-load-balancer-controller logs before deleting (#2436, @cgchinmay)
- check invalid TG ARN when deleting TGB(#2454, @oliviassss )
- Upgrade echoserver to 2.5 (#2452, @johngmyers)
- Format AWS policy JSON document for consistency (#2447, @orsenthil)
- Add default tags to backend SG (#2425, @kishorj)
- helm: Remove unnecessary admissionregistration.k8s.io/v1beta1 (#2443, @johngmyers)
- helm: Create IngressClass by default (#2442, @johngmyers)
- Add a separate example for dualstack ALB (#2445, @kishorj)
- Update Ingress APIVersion to networking.k8s.io/v1 (#2433, @johngmyers)
- e2e: Use Helm chart from the commit (#2435, @johngmyers)
- updated Ingress API version in Documentation example (#2429, @NIKU-SINGH)
- e2e test helper script (#2246, @cgchinmay)
- Add workflow to auto sync helm chart to eks-charts (#2418, @oliviassss)
- Typo (#2416, @stensonb)
- Enable setting custom objectSelector for webhook (#2407, @Shreya027)
- cache AWS shield subscription state for 2 hour (#2408, @M00nF1sh)
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.0
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.0
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.0
v2.3.1
v2.3.1 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.3.1
Thanks to all our contributors! 😊
Action Required
N/A
What's new
- Support NLB IPv6 target groups
- Allow targetgroup endpoints outside the ELB VPC
- Add support for feature gates to enable/disable features
- Disable listener and listener rules tagging via
ListenerRulesTagging
feature gate - Disable weighted target groups via
WeightedTargetGroups
feature gate
Bug fixes
- Fix restricted SG rules for named target port
- ALB COIP drift check logs drifts instead of error
- Remove ip-address-type dualstack annotation from 2048 example
- Webhook server use TLS 1.2 as the minimum version
- Fix listener utils error handling
- Documentation fixes
Changelog since v2.3.0
- Update golang to 1.17 (#2401, @kishorj)
- Set a namespace on the helm PodDisruptionBudget template(#2391, @Dutchy-)
- implement dnsPolicy in aws-load-balancer-controller chart (#2324, @notjames)
- chore: clarify how to get internal NLB (#2356, @froblesmartin)
- fix listener utils error handling (#2397, @kishorj )
- doc improvement for IAM policy restriction (#2390, @kishorj)
- webhook server use TLS 1.2 as minimum version (#2394, @kishorj)
- call subnet auto discovery when lb scheme changes (#2387, @oliviassss)
- Minimalist IAM permissions for TargetGroupBinding [documentation] (#2385, @marcosdiez)
- doc update for subnet auto-discovery (#2374, @oliviassss)
- Add support for NLB IPv6 targets groups (#2332, @kishorj)
- support IPv6 Pods during AZ detection (#2375, @M00nF1sh)
- Adding supports for unweighted target group through feature gate and checking SSL policy availability. (#2380, @haouc)
- doc: fix iam_policy.json url for v2.3.0 (#2378, @JeremJR)
- NLB Instance mode guide referenced the wrong annotation (#2376, @TBBle)
- add feature gate to enable or disable listener rules tagging (#2342, @oliviassss)
- Allow TargetGroup endpoints outside the ELB VPC (#1862, @shoekstra)
- Update anchor link of Nodeport from #nodeport to #type-nodeport (#2348, @sandipanpanda)
- Whitespace changes for mkdocs rendering (#2333, @kishorj)
- remove ip-address-type dualstack annotation from 2048 example (#2331, @kishorj)
- make COIP drift check logs drifts instead of error out (#2329, @M00nF1sh)
- Fix restricted SG rules for named target port (#2327, @kishorj)
- Add documentation on how to add load balancer attributes to Ingress Class Params (#2321, @inih)
- Update service annotations live docs (#2320, @kishorj)
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.3.1
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.3.1
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.3.1
v2.3.0
v2.3.0 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.3.0
Thanks to all our contributors! 😊
Action Required
- New IAM Permissions needed for IPv6 clusters: sample policy, sample policy for cn, sample policy for gov-cloud
- New RBAC permissions needed (included in latest yaml/helm chart)
- CRD/Webhook updates needed (included in latest yaml/helm chart)
- Included yaml manifests use cert-manager apiversion v1. You need to update cert-manager to v1.5.3 or later if you install via yaml manifests or enable cert-manager for helm chart
Additional Note
This release introduces optimized security group rules for ALB. The controller uses a shared security group across multiple ALBs in the cluster to allow access to your application pods. As a result, your existing ALBs get updated on controller upgrade. There is a possible time window during reconfiguration where your client traffic might get impacted. We recommend upgrading the controller during a maintenance window.
If you don't prefer the controller create an additional security group, you can either specify a backend security group via the --backend-security-group
controller flag, or revert to the previous behavior by setting the controller flag --enable-backend-security-group
to false
. If you install the helm chart, you can set the desired configuration via enableBackendSecurityGroup
and backendSecurityGroup
values.
What's new
- Improved security groups handling
- ALB IPv6 target groups
- Helm v3 chart
- Support for Endpointslices
- Upgrade controller runtime, k8s dependencies
- Use
admission/v1
- Update to use golang v1.16.3
Enhancements
- IngressClassParams support for load balancer attributes
- Specify NLB attributes via annotation, support for NLB deletion protection
- Restrict subnet auto-discovery to new LB creation for ALB/NLB
- Discover subnets based on available IP addresses
- Filter target group and load balancers by VPC ID
- Handling of deletion protection configured via annotation
- Custom AWS endpoints configuration
- Port range restriction for SG rules
- Discover AWS region from environment configuration
- Documentation changes
Helm chart
- Helm v3 chart
- Use pdb/v1 if available
- Reuse existing TLS secrets
- cert-manager apiversion v1
- optional serviceAnnotations
- specifying TLS certs/key for webhook
Changelog since v2.2.4
- Add support for ALB IPv6 target groups (#2284, @kishorj)
- add utilities to help write e2e tests and a few basic e2e tests cases (#2294, @M00nF1sh)
- provide scoped down IAM permissions example (#2283, @kishorj)
- Refactor custom AWS endpoint resolver (#2270, @kishorj)
- fix sdk override script for linux platform (#2280, @kishorj)
- update ssl redirect documentation (#2274, @kishorj)
- Reject custom load balancer name longer than 32 characters (#2295, @kishorj)
- modify .Capabilities.APIVersions.Has for pdb (#2293, @cw-sakamoto)
- fix typo in service annotations (#2290, @neha-viswanathan)
- Update documentation site to show grpc example tutorial (#2277, @brianannis)
- doc: Update configuration notes for working with IMDSv2 metadata server (#2243, @alexku7)
- Enable Helm chart to reuse existing TLS secrets, use v3 charts (#2264, @oliviassss)
- Bump pdb apiVersion to v1 (#2192, @Evalle)
- Add parameter to create IngressClass Resource (#2248,@lazouz)
- Add code for acquiring AWS region from env (#2217, @Shreya027)
- Support optimized security group rules for ALB (#2205, @kishorj)
- cert-manager apiversion to v1 (#2189, @cw-sakamoto)
- Fix documentation edit link to correct repo (#2267, @Yasumoto)
- doc: Fix typo in aws-load-balancer-controller README (#2268, @bhops)
- Clarify helm installation when using IAM roles or not (#2265, @Yasumoto)
- Fix typo in service annotations guide (#2262, @jeremydonahue)
- Add port range restriction for SG (#2236, @oliviassss)
- Add custom AWS endpoints configuration (#2179, @papigers)
- Create optional serviceAnnotations value in helm chart (#2171, @jwenz723)
- Add "--region" parameter of eksctl CLI (#2227, @davidshtian)
- EndpointSlice support for IP target groups (#2169, @harivall)
- Fix typo in README.md (#2223, @PascalBourdier)
- Support specifying TLS certs/key for webhook in helm chart (#2198, @agaffney)
- Set maximum length for custom load-balancer-name (#2195, @bnutt)
- add load balancer attributes support for IngressClassParams (#2190, @oliviassss)
- use minimal base docker image (#2196, @M00nF1sh)
- update docs for deletion_protection (#2181, @oliviassss)
- update docs about multiple controller deployment (#2186, @M00nF1sh)
- Force delete lb when deletion_protection is disabled (#2172, @oliviassss)
- Add code for filtering target group & load balancers by VPC ID (#2157, @Shreya027)
- Fix the regression of IP mode support for fargate pods (#2158, @M00nF1sh)
- Improve contributing documentation (#2155, @akuzni2)
- Discovery subnets by available ip addresses (#2146, @oliviassss)
- Fix typo (#2153, @joedborg)
- alpn-policy: Don't require TLS target groups (#2147, @iAnomaly)
- add support for pods supported by IPv4Prefix on ENI (#2137, @M00nF1sh)
- Update repo name to load-balancer (#2140, @tyron)
- Add deployment update strategy to aws-load-balancer-controller (#2130, @kirrmann)
- Restrict subnet auto-discovery to new LB creation on service side (#2129, @oliviassss)
- Clean up extra spaces (#2121,@jayonlau)
- Clean up extra spaces (#2120,@jayonlau)
- Restrict subnet auto-discovery to new LB creation only (#2125, @oliviassss)
- Docs: Document Reconciliation Behaviour When Deletion Protection is Enabled. (#2119, @korenyoni)
- Add support for AWS SDK override ([#2114](https://github.com/kubernetes-sigs/aws-load-balancer-cont...
v2.2.4
v2.2.4 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.2.4
Thanks to all our contributors! 😊
Action Required
N/A
Additional Notes:
- We switch to use a minimal base docker image that only contains necessary dependencies and don't have shell binaries.(prior to this release, AmazonLinux2 was used as base docker image)
Changelog since v2.2.3
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.4
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.4
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.4
v2.2.3
v2.2.3 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.2.3
Thanks to all our contributors! 😊
Action Required
N/A
Additional Notes:
- This release is cut from our release-branch
release-2.2
instead ofmain
, which is based onv2.2.2
with a cherry-pick commit.
Changelog since v2.2.2
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.3
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.3
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.3
v2.2.2
v2.2.2 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.2.2
Thanks to all our contributors! 😊
Action Required
- 🚨 This version doesn't work for Fargate pods with IP mode, use v2.2.3 instead
What's new
- "ip" TargetType now supports pods by ENI's IP address prefixes with VPC CNI plugin v1.9.0+. See here for more details
Additional Notes:
- This release is cut from our release-branch
release-2.2
instead ofmain
, which is based onv2.2.1
with a cherry-pick commit.
Changelog since v2.2.1
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.2
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.2
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.2
v2.2.1
v2.2.1 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.2.1
Thanks to all our contributors! 😊
Action Required
N/A
What's new
- New controller-level flag
targetgroupbinding-max-exponential-backoff-delay
forMaximum duration of exponential backoff for targetGroupBinding reconcile failures
Changelog since v2.2.0
- Improvement - Enforce one target group per target group binding (#2098, @fawadkhaliq)
- Improvement - Add max backoff flag for TargetGroupBinding reconciler (#2029, @eytan-avisror)
- Improvement - New error generation/message when ServiceType is "ClusterIP" and LoadBalancerTargetType is "instance" (#2094, @harivall)
- Improvement - Add MinLength validation to TargetGroupARN (#2035, @shuheiktgw)
- Documentation - Add controller development docs (#2101, @fawadkhaliq)
- Documentation - Fix annotation code block for load balancer name (#2096, @Pred05)
- Documentation - Update example for latest api version (#2072, @tlliddle)
- Documentation - Fix typo in installation instructions (#2063, @tomahawk-pilot)
- Documentation - cosmetic changes to the NLB documentation (#2010, @kishorj)
- Testing - fix ineffectual assignment to err (#2016, @zhouhao3)
- Testing - Don't consider nodes with exclude-from-external-load-balancer eligible worker nodes in e2e (#2012, @olemarkus)
- Development - cut v2.2.1 release (#2105, @M00nF1sh)
- Development - Add lint and dry run checks for the Helm chart (#2099, @fawadkhaliq)
- Development - Added issue and pull request templates (#2089, @fawadkhaliq)
- Development - Add aws-load-balancer-controller Helm chart (#2088, @fawadkhaliq)
- Development - fix docs theme with latest mkdocs-material & pin docs dev environment (#2023, @M00nF1sh)
ECR images
- 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.2.1
- 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.1
- 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.2.1
v2.2.0
v2.2.0 (requires Kubernetes 1.16+)
Documentation
Image: docker.io/amazon/aws-alb-ingress-controller:v2.2.0
Thanks to all our contributors! 😊
Action Required
- New IAM Permissions needed: sample policy, sample policy for cn, sample policy for gov-cloud
- New RBAC permissions needed (included in latest yaml/helm chart)
- CRD/Webhook updates needed (included in latest yaml/helm chart)
- breaking change: NLB will be provisioned as internal by default. Annotation
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
need to be explicitly specified on the service to provision an internet-facing NLB. (existing NLBs managed by this controller are not affected). - breaking change: Ingresses rules referencing non-existing Service/Action will be replaced by fixed 503 responses instead of preventing Ingress from reconcile.
- breaking change: Tags specified via
--default-tags
controller flag will takes highest priority.
What's new
- NLB Instance mode
service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses
annotation to configure private static IPs for an internal NLB- IngressClassParams CRD to restrict LoadBalancer settings across multiple Ingresses
alb.ingress.kubernetes.io/ssl-redirect
annotation to simplify HTTP-To-HTTPS redirect configuration- Ingress PathType
- Resource Tagging for Listener and ListenerRules
- Ability to specify custom load balancer name for ALB/NLB
- Ability to select backend nodes by labels for Ingress/Service/TargetGroupBinding
- Ability to provision ALB on LocalZone
- Ability to opt-out management for certain tags via controller flags
- Ability to customize webhook's certificate locations via controller flags
- Ability to specify default SSL policy via controller flags
Enhancements
- Better handling for Ingress rules referencing non-existing Service.
- Use objectSelector for pod mutator webhook
- Upgraded to v1 API for webhook and CRD
Bug Fixes
- Fixed the default certificate selection for ALB/Ingress(#1836)
- Fixed issues around legacy readinessGate removal(#1782 )
Changelog since v2.1.3
- resolve VPC CIDRs for UDP protocol (#2008, @kishorj)
- Doc updates for NLB instance mode support (#2007, @kishorj)
- add event handler for ingressClass&ingressClassParams events (#1991, @M00nF1sh)
- filter redundant health check SG rules (#2006, @kishorj)
- allow invalid ingressClass for update events without ingressClass change. (#2005, @M00nF1sh)
- Docs update about IngressClass & new controller-level flags (#2002, @M00nF1sh)
- remove deprecated apiVersion (#1850, @ngoyal16)
- Add unit tests for VPC resolver (#2004, @kishorj)
- Update Installation manifests (CRD/Webhook/Controller) (#2000, @M00nF1sh)
- update site_name (#1982, @mikutas)
- Add flags to set server key and certificate (#1983, @lxlxok)
- Add docs around how does the AWS LB controller work with legacy cloud provider (#1988, @kolorful)
- Limit HealthCheckNodePort to service type LoadBalancer (#1980, @kishorj)
- doc update for non-EKS installs (#1979, @kishorj)
- add support for tags in ingressClassParams (#1976, @M00nF1sh)
- add rbac to read IngressClassParams (#1977, @M00nF1sh)
- add support for external-managed-tags & prefer defaultTags (#1970, @M00nF1sh)
- tolerate misconfiguration that references non-exists service or action (#1967, @M00nF1sh)
- Sort targetGroup Attrs (#1971, @kishorj)
- enforce LB attributes according to IngressClassParams (#1969, @M00nF1sh)
- Provision internal NLB by default (#1964, @kishorj)
- Use objectSelector for pod mutator webhook (#1958, @kishorj)
- docs: update Subnet discovery with optional tag (#1943, @kreempuff)
- Fix new tagging ARNs in aws-cn IAM policy (#1944, @rifelpet)
- Resource tagging for Listener and Rules (#1887, @kishorj)
- Fixed an issue where mergedTLSCerts would be sorted. (#1863, @yutachaos)
- fix flaky throttle test (#1923, @M00nF1sh)
- adjust mocks generation (#1922, @M00nF1sh)
- add support for local zone (#1920, @M00nF1sh)
- Support custom ALB name via annotation (#1899, @kishorj)
- gRPC docs (#1901, @brianannis)
- add support for IngressClassParams's group settings (#1913, @M00nF1sh)
- Additional e2e tests for service (#1898, @kishorj)
- Highlight the need to tag subnets (#1904, @isqrd)
- Adding a note about the preservation of ALB (#1919, @nataizya-s)
- Add IAM policy for US GovCloud (#1912, @1riggs)
- add validating webhook for ingress_class_params (#1902, @M00nF1sh)
- Update installation instructions (#1896, @kishorj)
- Update nlb target type annotation (#1894, @kishorj)
- improve missing service handling for targetGroupBinding (#1888, @M00nF1sh)
- Updating the default resource tag documentation to reference the correct tag name (#1889, @georgew5656)
- Support target node labels for ingress (#1874, @kishorj)
- Add e2e tests for NLB instance mode (#1860, @kishorj)
- set default log level to info (#1877, @kishorj)
- Add a flag to set the default SSL Policy (#1881, @laurovenancio)
- Add support for specifying the load balancer's name via annotation (#1880, @rifelpet)
- Fixed race condition test (#1866, @yutachaos)
- Doc update for attribute reset (#1869, @mikhailadvani)
- IngressClassParams support (#1849, @M00nF1sh)
- Add support for NLB instance mode (#1832, @kishorj)
- Change check for remove regacy readiness gate (#1844, @cw-sakamoto)
- add support for ssl-redirect annotation (#1837, @M00nF1sh)
- Add support for NodeSelector in Targ...