Skip to content

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

v2.6.1

12 Sep 20:59
5a5885b
Compare
Choose a tag to compare

v2.6.1 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.6.1
Thanks to all our contributors! 😊

Fixes

Changelog since v2.6.1

v2.6.0

10 Aug 18:35
b805cc2
Compare
Choose a tag to compare

v2.6.0 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.6.0
Thanks to all our contributors! 😊

Enhancement

  • Added support of Security Groups for NLB. With the security group support, it is feasible to forward the NLB traffic to the EC2 instances without having to open up the instances for global access. For backwards compatibility, NLBs created without the security groups or the existing NLBs will continue to provide the legacy behavior. Similar to ALB, there are two sets of SGs for NLB - frontend and backend SGs:
    • The controller will automatically create and attach the frontend SG to the NLB provisioned, and add rules for inbound-cidrs and listen-ports. If the users want to attach existing frontend SG to the NLB, they can explicitly specify via annotation service.beta.kubernetes.io/aws-load-balancer-security-groups
    • The Backend SG controls the traffic between the NLB and the EC2 instances/ENIs, and it gets attached to the NLB similar to the frontend SG. In case of auto-generated frontend SG, the controller automatically adds Node/ENI SG rules to allow egress traffic from the NLB. The rule management is disabled by default if the frontend SG is specified via annotation. We provide an annotation to configure controller’s management on backend SG rules regardless of the frontend SG type service.beta.kubernetes.io/aws-load-balancer-manage-backend-security-group-rules: true/false
  • Improved the ingress cert auto-discovery to discover more cert types from ACM:
     KeyAlgorithmRsa1024,
     KeyAlgorithmRsa2048,
     KeyAlgorithmRsa3072,
     KeyAlgorithmRsa4096,
     KeyAlgorithmEcPrime256v1,
     KeyAlgorithmEcSecp384r1,
     KeyAlgorithmEcSecp521r1,

Fixes

  • Fixed the race condition in pod cache and endpoint resolver
  • Made the ingress validating webhook ignore ingresses that are not managed by AWS LBC
  • Fixed typo in doc

Changelog since v2.5.4

v2.5.4

12 Jul 23:54
fd1bbbb
Compare
Choose a tag to compare

v2.5.4 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.5.4
Thanks to all our contributors! 😊

Fixes

  • Fixed a bug in the eventhandler that was ignoring the update event triggered by --sync-period and preventing the auto-reconciliation of the controller. From this version, the controller will reconcile all the resources even if there is no change in manifest, per the default interval of 10hr. For more information, please refer to the doc

Changelog since v2.5.3

v2.5.3

23 Jun 00:25
940efc7
Compare
Choose a tag to compare

v2.5.3 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.5.3
Thanks to all our contributors! 😊

Enhancement

  • Update go dependencies and base image to address CVEs
  • Drop the support for policy/v1beta1 of PodDisruptionBudget, since the k8s 1.22+ supports policy/v1
  • Drop the support for cert-manager.io/v1alpha2, and explicitly set to cert-manager.io/v1

Fixes

  • Update k8s.io/client-go to v0.26.5 to fix the promethus-adapter issue that causes the client-go to crash in k8s 1.27

Changelog since v2.5.2

v2.5.2

20 May 00:00
ba7df31
Compare
Choose a tag to compare

v2.5.2 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.5.2

Thanks to all our contributors! 😊

Enhancement

  • Added support for the AWS Resource Group API which can be enabled via the feature flag EnableRGTAPI, disabled by default. This feature allows the tagging manager to utilize RGT APIs to filter matching Load Balancers and Target Group resources, and is helpful when there are numerous resources. RGT feature is not available for private clusters. If you intend to enable this feature, you need to do the following:
    • set --feature-gates=EnableRGTAPI=true in controller command line flag or helm value --set controllerConfig.featureGates.EnableRGTAPI=true during chart install/upgrade
    • add additional permission to the IAM policy used by the controller
    { 
     "Effect": "Allow", 
     "Action": [ 
         "tag:GetResources" 
     ], 
     "Resource": "*" 
    }
    
  • Refactor backend SG provider, controller deletes backend SG when not required without waiting for all ingresses to be deleted.

Fixes

  • Check both sdkLS and resLS sslpolicy for nil when updating extra certs for listeners

Changelog since v2.5.1

v2.5.1

18 Apr 00:08
06abaed
Compare
Choose a tag to compare

v2.5.1 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.5.1

Thanks to all our contributors! 😊

Action Required

  • 🚨 🚨 🚨We've updated the controller manifests, so either use helm upgrade or apply the new manifest. The new controller image from the patch release is not compatible with manifests from v2.4.x or earlier releases
  • 🚨 🚨 🚨We have made the LBC the default controller for service type LoadBalancer by adding a mutating webhook. You can disable the feature by setting the helm chart value enableServiceMutatorWebhook to false. You will no longer be able to provision new Classic Load Balancer (CLB) from your kubernetes service unless you disable this feature.

Please refer to the v2.5.0 release notes for further details.

Bug fixes

  • Fix ingress validator to handle ingress rules without http paths, issue #3158

Changelog since v2.5.0

v2.5.0

14 Apr 19:34
14f5a70
Compare
Choose a tag to compare

v2.5.0 (requires Kubernetes 1.22+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.5.0

Thanks to all our contributors! 😊

Action Required

🚨 🚨 🚨 The v2.5.0 ingress validator is not able to handle ingress rules without HTTP path due to bug #3158. If your ingress rules don't have the http paths defined, do not upgrade to v2.5.0 release.

  • 🚨 🚨 🚨We've updated the controller manifests, so either use helm upgrade or apply the new manifest. The new controller image is not compatible with manifests from earlier releases, so we don't recommend editing existing deployment and updating the image tag.
  • 🚨 🚨 🚨We have made the LBC the default controller for service type LoadBalancer by adding a mutating webhook. Therefore, from v2.5.0, it is required to use k8s 1.22 or later to support the spec.loadBalancerClass. This controller creates an internal NLB by default. You need to specify the annotation service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing on your service if you want to create an internet-facing NLB for your service.
  • We have added subnets, InboundCIDRs and SSLPolicy fields in IngressClassParams. If you are upgrading the chart via helm upgrade, you need to update the IngressClassParams CRD manually by running kubectl apply -k "http://github.com/aws/eks-charts/stable/aws-load-balancer-controller//crds?ref=master"

Whats new

  • The AWS LBC provides a mutating webhook for service resources to set the spec.loadBalancerClass field for service of type LoadBalancer on create. This makes the AWS LBC the default controller for service of type LoadBalancer. You can disable this feature and revert to set CCM as the default by setting the helm chart value enableServiceMutatorWebhook to false. You will no longer be able to provision new Classic Load Balancer (CLB) from your kubernetes service unless you disable this feature. Existing CLB will continue to work fine.
  • You can set the default target type for the load balancer target groups. For helm chart, you can specify the defaultTargetType value during chart install/upgrade.
  • Fields subnets, InboundCIDRs and SSLPolicy in IngressClassParams

Enhancements

  • Update controller runtime
  • Add a validation step on service annotation service.beta.kubernetes.io/aws-load-balancer-ssl-ports
  • Handle the validation error on ingress annotation alb.ingress.kubernetes.io/conditions.${conditions-name}
  • Enable EndpointsFailOpen by default
  • Allow multiple TLS certificate for the same host for ALB during certificate discovery
  • Migrate to ConfigMap leases for the leader election
  • Documentation enhancement

Changelog since v2.4.7

v2.4.7

23 Feb 16:42
2ba14d1
Compare
Choose a tag to compare

v2.4.7 (requires Kubernetes 1.19+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.4.7

Thanks to all our contributors! 😊

Action Required

🚨 🚨 🚨 We've updated the reference IAM policies to explicitly add the AddTag permission for creating load balancer and listener resources. We recommend updating your controller IAM policies with the new permissions for existing installations as well.

Whats new

  • This patch release updates the controller to use discovery.k8s.io/v1 version of EndpointSlice for compatibility with k8s 1.25 and later releases. Starting this patch release, the controller will be able to support EndpointSlice in k8s 1.21 and later clusters only.
  • We have also updated the reference IAM policies to explicitly allow the AddTag permission for the ELBv2 CreateTargetGroup and CreateLoadBalancer. You will have to update the existing controller IAM permissions if you encounter the AccessDenied errors for the elbv2 APIs

Changelog since v2.4.6

v2.4.6

12 Jan 20:00
a92e689
Compare
Choose a tag to compare

v2.4.6 (requires Kubernetes 1.19+)

Documentation

Image: public.ecr.aws/eks/aws-load-balancer-controller:v2.4.6

Thanks to all our contributors! 😊

Whats new

  1. This release introduces new annotation service.beta.kubernetes.io/aws-load-balancer-healthcheck-success-codes to configure the HTTP success codes for NLB target group health check for http/https healthcheck protocol
  2. Controller doesn't delete existing NLB target group to reconfigure health check configuration with default configuration. You can revert to the earlier behavior by setting the feature gate NLBHealthCheckAdvancedConfiguration to false
  3. Controller configures the NLB target group health check timeout based on the annotation service.beta.kubernetes.io/aws-load-balancer-healthcheck-timeout. You can disable this by setting the feature gate NLBHealthCheckAdvancedConfiguration to false

Changelog since v2.4.5

v2.4.5

12 Nov 01:26
d9482de
Compare
Choose a tag to compare

v2.4.5 (requires Kubernetes 1.19+)

Documentation

Image: docker.io/amazon/aws-alb-ingress-controller:v2.4.5

Thanks to all our contributors! 😊

Fixes

Changelog since v2.4.4

ECR images

  • 013241004608.dkr.ecr.us-gov-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 151742754352.dkr.ecr.us-gov-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 558608220178.dkr.ecr.me-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 590381155156.dkr.ecr.eu-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-northeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-northeast-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ap-southeast-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.ca-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.eu-central-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.eu-north-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.eu-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.eu-west-3.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.sa-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.us-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.us-east-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 800184023465.dkr.ecr.ap-east-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 877085696533.dkr.ecr.af-south-1.amazonaws.com/amazon/aws-load-balancer-controller:v2.4.5
  • 918309763551.dkr.ecr.cn-north-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.5
  • 961992271922.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazon/aws-load-balancer-controller:v2.4.5