Skip to content

Commit 1c12078

Browse files
committed
chore: avoid hard-code AWS Load Balancer Controller version
1 parent 81f211a commit 1c12078

File tree

8 files changed

+23
-23
lines changed

8 files changed

+23
-23
lines changed

latest/ug/clusters/private-clusters.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ We recommend that you link:vpc/latest/privatelink/interface-endpoints.html#enabl
115115
* *EFS storage* - If your Pods use Amazon EFS volumes, then before deploying the <<efs-csi,Store an elastic file system with Amazon EFS>>, the driver's https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/deploy/kubernetes/overlays/stable/kustomization.yaml[kustomization.yaml] file must be changed to set the container images to use the same {aws} Region as the Amazon EKS cluster.
116116
* Route53 does not support {aws} PrivateLink. You cannot manage Route53 DNS records from a private Amazon EKS cluster. This impacts Kubernetes https://github.com/kubernetes-sigs/external-dns[external-dns].
117117
* If you use the EKS Optimized AMI, you should enable the `ec2` endpoint in the table above. Alternatively, you can manually set the Node DNS name. The optimized AMI uses EC2 APIs to set the node DNS name automatically.
118-
* You can use the <<aws-load-balancer-controller,{aws} Load Balancer Controller>> to deploy {aws} Application Load Balancers (ALB) and Network Load Balancers to your private cluster. When deploying it, you should use https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/deploy/configurations/#controller-command-line-flags[command line flags] to set `enable-shield`, `enable-waf`, and `enable-wafv2` to false. https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/ingress/cert_discovery/#discover-via-ingress-rule-host[Certificate discovery] with hostnames from Ingress objects isn't supported. This is because the controller needs to reach {aws} Certificate Manager, which doesn't have a VPC interface endpoint.
118+
* You can use the <<aws-load-balancer-controller,{aws} Load Balancer Controller>> to deploy {aws} Application Load Balancers (ALB) and Network Load Balancers to your private cluster. When deploying it, you should use https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/deploy/configurations/#controller-command-line-flags[command line flags] to set `enable-shield`, `enable-waf`, and `enable-wafv2` to false. https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/cert_discovery/#discover-via-ingress-rule-host[Certificate discovery] with hostnames from Ingress objects isn't supported. This is because the controller needs to reach {aws} Certificate Manager, which doesn't have a VPC interface endpoint.
119119
+
120120
The controller supports network load balancers with IP targets, which are required for use with Fargate. For more information, see <<alb-ingress>> and <<network-load-balancer>>.
121121
* https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md[Cluster Autoscaler] is supported. When deploying Cluster Autoscaler Pods, make sure that the command line includes `--aws-use-static-instance-list=true`. For more information, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#use-static-instance-list[Use Static Instance List] on GitHub. The worker node VPC must also include the {aws} STS VPC endpoint and autoscaling VPC endpoint.

latest/ug/networking/eks-networking-add-ons.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ This add-on maintains network rules on your Amazon EC2 nodes and enables network
4343
== Optional {aws} networking add-ons
4444

4545
*{aws} Load Balancer Controller*::
46-
When you deploy Kubernetes service objects of type `loadbalancer`, the controller creates {aws} Network Load Balancers . When you create Kubernetes ingress objects, the controller creates {aws} Application Load Balancers. We recommend using this controller to provision Network Load Balancers, rather than using the https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] controller built-in to Kubernetes. For more information, see the https://kubernetes-sigs.github.io/aws-load-balancer-controller[{aws} Load Balancer Controller] documentation.
46+
When you deploy Kubernetes service objects of type `loadbalancer`, the controller creates {aws} Network Load Balancers . When you create Kubernetes ingress objects, the controller creates {aws} Application Load Balancers. We recommend using this controller to provision Network Load Balancers, rather than using the https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] controller built-in to Kubernetes. For more information, see the https://kubernetes-sigs.github.io/aws-load-balancer-controller[{aws} Load Balancer Controller] documentation.
4747

4848

4949
*{aws} Gateway API Controller*::

latest/ug/networking/lbc-helm.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
110110
--set clusterName=my-cluster \
111111
--set serviceAccount.create=false \
112112
--set serviceAccount.name=aws-load-balancer-controller \
113-
--version 1.13.0
113+
--version 1.14.0
114114
----
115115

116116

latest/ug/networking/lbc-manifest.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,11 @@ curl -Lo v2_14_0_full.yaml https://github.com/kubernetes-sigs/aws-load-balancer-
225225
----
226226
. Make the following edits to the file.
227227
+
228-
.. If you downloaded the `v2_13_3_full.yaml` file, run the following command to remove the `ServiceAccount` section in the manifest. If you don't remove this section, the required annotation that you made to the service account in a previous step is overwritten. Removing this section also preserves the service account that you created in a previous step if you delete the controller.
228+
.. If you downloaded the `v2_14_0_full.yaml` file, run the following command to remove the `ServiceAccount` section in the manifest. If you don't remove this section, the required annotation that you made to the service account in a previous step is overwritten. Removing this section also preserves the service account that you created in a previous step if you delete the controller.
229229
+
230230
[source,shell,subs="verbatim,attributes"]
231231
----
232-
sed -i.bak -e '730,738d' ./v2_13_3_full.yaml
232+
sed -i.bak -e '764,772d' ./v2_14_0_full.yaml
233233
----
234234
+
235235
If you downloaded a different file version, then open the file in an editor and remove the following lines.
@@ -250,7 +250,7 @@ metadata:
250250
+
251251
[source,shell,subs="verbatim,attributes"]
252252
----
253-
sed -i.bak -e 's|your-cluster-name|my-cluster|' ./v2_13_3_full.yaml
253+
sed -i.bak -e 's|your-cluster-name|my-cluster|' ./v2_14_0_full.yaml
254254
----
255255
.. If your nodes don't have access to the Amazon EKS Amazon ECR image repositories, then you need to pull the following image and push it to a repository that your nodes have access to. For more information on how to pull, tag, and push an image to your own repository, see <<copy-image-to-repository>>.
256256
+
@@ -263,7 +263,7 @@ Add your registry's name to the manifest. The following command assumes that you
263263
+
264264
[source,shell,subs="verbatim,attributes"]
265265
----
266-
sed -i.bak -e 's|public.ecr.aws/eks/aws-load-balancer-controller|111122223333.dkr.ecr.region-code.amazonaws.com/eks/aws-load-balancer-controller|' ./v2_13_3_full.yaml
266+
sed -i.bak -e 's|public.ecr.aws/eks/aws-load-balancer-controller|111122223333.dkr.ecr.region-code.amazonaws.com/eks/aws-load-balancer-controller|' ./v2_14_0_full.yaml
267267
----
268268
.. (Required only for Fargate or Restricted IMDS)
269269
+
@@ -287,7 +287,7 @@ spec:
287287
+
288288
[source,shell,subs="verbatim,attributes"]
289289
----
290-
kubectl apply -f v2_13_3_full.yaml
290+
kubectl apply -f v2_14_0_full.yaml
291291
----
292292
. Download the `IngressClass` and `IngressClassParams` manifest to your cluster.
293293
+
@@ -299,7 +299,7 @@ curl -Lo v2_14_0_ingclass.yaml https://github.com/kubernetes-sigs/aws-load-balan
299299
+
300300
[source,shell,subs="verbatim,attributes"]
301301
----
302-
kubectl apply -f v2_13_3_ingclass.yaml
302+
kubectl apply -f v2_14_0_ingclass.yaml
303303
----
304304
305305

latest/ug/security/cross-service-confused-deputy-prevention.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If the `aws:SourceArn` value does not contain the account ID, such as an Amazon
2222
[#cross-service-confused-deputy-cluster-role]
2323
== Amazon EKS cluster role cross-service confused deputy prevention
2424

25-
An Amazon EKS cluster IAM role is required for each cluster. Kubernetes clusters managed by Amazon EKS use this role to manage nodes and the link:https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] uses this role to create load balancers with Elastic Load Balancing for services.
25+
An Amazon EKS cluster IAM role is required for each cluster. Kubernetes clusters managed by Amazon EKS use this role to manage nodes and the link:https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] uses this role to create load balancers with Elastic Load Balancing for services.
2626
These cluster actions can only affect the same account, so we recommend that you limit each cluster role to that cluster and account.
2727
This is a specific application of the {aws} recommendation to follow the _principle of least privilege_ in your account.
2828

latest/ug/security/iam-reference/cluster-iam-role.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ include::../../attributes.txt[]
1010
Learn how to create and configure the required {aws} Identity and Access Management role for Amazon EKS clusters to manage nodes and load balancers using managed or custom IAM policies.
1111
--
1212

13-
An Amazon EKS cluster IAM role is required for each cluster. Kubernetes clusters managed by Amazon EKS use this role to manage nodes and the https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] uses this role to create load balancers with Elastic Load Balancing for services.
13+
An Amazon EKS cluster IAM role is required for each cluster. Kubernetes clusters managed by Amazon EKS use this role to manage nodes and the https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] uses this role to create load balancers with Elastic Load Balancing for services.
1414

1515
Before you can create Amazon EKS clusters, you must create an IAM role with either of the following IAM policies:
1616

1717

1818

1919
* link:aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html[AmazonEKSClusterPolicy,type="documentation"]
20-
* A custom IAM policy. The minimal permissions that follow allows the Kubernetes cluster to manage nodes, but doesn't allow the https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] to create load balancers with Elastic Load Balancing. Your custom IAM policy must have at least the following permissions:
20+
* A custom IAM policy. The minimal permissions that follow allows the Kubernetes cluster to manage nodes, but doesn't allow the https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider[legacy Cloud Provider] to create load balancers with Elastic Load Balancing. Your custom IAM policy must have at least the following permissions:
2121
+
2222
[source,json,subs="verbatim,attributes"]
2323
----

latest/ug/workloads/alb-ingress.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ If you're using multiple security groups attached to worker node, exactly one se
6565
If the subnet role tags aren't explicitly added, the Kubernetes service controller examines the route table of your cluster VPC subnets. This is to determine if the subnet is private or public. We recommend that you don't rely on this behavior. Rather, explicitly add the private or public role tags. The {aws} Load Balancer Controller doesn't examine route tables. It also requires the private and public tags to be present for successful auto discovery.
6666

6767

68-
* The https://github.com/kubernetes-sigs/aws-load-balancer-controller[{aws} Load Balancer Controller] creates ALBs and the necessary supporting {aws} resources whenever a Kubernetes ingress resource is created on the cluster with the `kubernetes.io/ingress.class: alb` annotation. The ingress resource configures the ALB to route HTTP or HTTPS traffic to different Pods within the cluster. To ensure that your ingress objects use the {aws} Load Balancer Controller, add the following annotation to your Kubernetes ingress specification. For more information, see https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/ingress/spec/[Ingress specification] on GitHub.
68+
* The https://github.com/kubernetes-sigs/aws-load-balancer-controller[{aws} Load Balancer Controller] creates ALBs and the necessary supporting {aws} resources whenever a Kubernetes ingress resource is created on the cluster with the `kubernetes.io/ingress.class: alb` annotation. The ingress resource configures the ALB to route HTTP or HTTPS traffic to different Pods within the cluster. To ensure that your ingress objects use the {aws} Load Balancer Controller, add the following annotation to your Kubernetes ingress specification. For more information, see https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/spec/[Ingress specification] on GitHub.
6969
+
7070
[source,yaml,subs="verbatim,attributes"]
7171
----
@@ -87,7 +87,7 @@ alb.ingress.kubernetes.io/ip-address-type: dualstack
8787
NOTE: Your Kubernetes service must specify the `NodePort` or `LoadBalancer` type to use this traffic mode.
8888
** *IP*
8989
– Registers Pods as targets for the ALB. Traffic reaching the ALB is directly routed to Pods for your service. You must specify the `alb.ingress.kubernetes.io/target-type: ip` annotation to use this traffic mode. The IP target type is required when target Pods are running on Fargate or Amazon EKS Hybrid Nodes.
90-
* To tag ALBs created by the controller, add the following annotation to the controller: `alb.ingress.kubernetes.io/tags`. For a list of all available annotations supported by the {aws} Load Balancer Controller, see https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.7/guide/ingress/annotations/[Ingress annotations] on GitHub.
90+
* To tag ALBs created by the controller, add the following annotation to the controller: `alb.ingress.kubernetes.io/tags`. For a list of all available annotations supported by the {aws} Load Balancer Controller, see https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/[Ingress annotations] on GitHub.
9191
* Upgrading or downgrading the ALB controller version can introduce breaking changes for features that rely on it. For more information about the breaking changes that are introduced in each release, see the https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases[ALB controller release notes] on GitHub.
9292

9393

@@ -164,7 +164,7 @@ eksctl create fargateprofile \
164164
+
165165
[source,bash,subs="verbatim,attributes"]
166166
----
167-
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.0/docs/examples/2048/2048_full.yaml
167+
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/latest/docs/examples/2048/2048_full.yaml
168168
----
169169
*** *Private*::
170170

@@ -173,7 +173,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-bala
173173
+
174174
[source,bash,subs="verbatim,attributes"]
175175
----
176-
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.0/docs/examples/2048/2048_full.yaml
176+
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/latest/docs/examples/2048/2048_full.yaml
177177
----
178178
.... Edit the file and find the line that says `alb.ingress.kubernetes.io/scheme: internet-facing`.
179179
.... Change [.replaceable]`internet-facing` to `internal` and save the file.
@@ -189,7 +189,7 @@ kubectl apply -f 2048_full.yaml
189189
+
190190
[source,bash,subs="verbatim,attributes"]
191191
----
192-
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.0/docs/examples/2048/2048_full.yaml
192+
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/latest/docs/examples/2048/2048_full.yaml
193193
----
194194
... Open the file in an editor and add the following line to the annotations in the ingress spec.
195195
+
@@ -237,7 +237,7 @@ image::images/2048.png[2048 sample application,scaledwidth=100%]
237237
+
238238
[source,bash,subs="verbatim,attributes"]
239239
----
240-
kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.0/docs/examples/2048/2048_full.yaml
240+
kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/latest/docs/examples/2048/2048_full.yaml
241241
----
242242
** If you downloaded and edited the manifest, use the following command.
243243
+

0 commit comments

Comments
 (0)