1.27.0 • Published 4 years ago

@grucloud/module-k8s-aws-load-balancer-controller v1.27.0

Weekly downloads
-
License
ISC
Repository
github
Last release
4 years ago

GruCloud Module for the AWS Load Balancer Controller on Kubernetes

Integrate the Aws Load Balancer Controller with GruCloud.

How to use this module

See a simple example.

This module is also used to deploy a full starter kit

Dependecencies

This module depends on the cert-manager which install Custom Resource Definition, aka CRD

Update manifest version

Eventually edit the manifest version in the package.json at the field .scripts.download-manifest.

Download the manifest file locally

npm run download-manifest

Code Generation

The load balancer controler manifest is transformed into javascript code using the k8s-manifest2code tool:

npm run gen-code

This commands creates the resource.js file containing all the resources.

Post Edit: Cluster name

Modify the generated resource.js in 2 places:

  • Specify the cluster name for the LoadBalancerController Deployment
  • Add the AWS Load Balancer Role as a dependencies of LoadBalancerController ServiceAccount. This will link the k8s Serive Account to the Load Balancer AWS IAM Role.
git diff
diff --git a/packages/modules/k8s/aws-load-balancer/resources.js b/packages/modules/k8s/aws-load-balancer/resources.js
index d149bd7c..ae273988 100644
--- a/packages/modules/k8s/aws-load-balancer/resources.js
+++ b/packages/modules/k8s/aws-load-balancer/resources.js
@@ -558,6 +558,9 @@ exports.createResources = async ({ provider, resources }) => {
       }),
     }
   );
+  assert(provider.dependencies.aws.config.eks);
+  const clusterName = provider.dependencies.aws.config.eks.cluster.name;
+  assert(clusterName);

   const kubeSystemawsLoadBalancerControllerDeployment = provider.makeDeployment(
     {
@@ -591,7 +594,7 @@ exports.createResources = async ({ provider, resources }) => {
               containers: [
                 {
                   args: [
-                    "--cluster-name=your-cluster-name",
+                    `--cluster-name=${clusterName}`,
                     "--ingress-class=alb",
                   ],
                   image: "amazon/aws-alb-ingress-controller:v2.1.2",
diff --git a/packages/modules/k8s/aws-load-balancer/resources.js b/packages/modules/k8s/aws-load-balancer/resources.js
index ae273988..76cc1aa9 100644
--- a/packages/modules/k8s/aws-load-balancer/resources.js
+++ b/packages/modules/k8s/aws-load-balancer/resources.js
@@ -323,12 +323,17 @@ exports.createResources = async ({ provider, resources }) => {
     }
   );

+  assert(resources.lbc.roleLoadBalancer);
   const kubeSystemawsLoadBalancerControllerServiceAccount = provider.makeServiceAccount(
     {
       name: "kube-system-aws-load-balancer-controller",
-      properties: () => ({
+      dependencies: { role: resources.lbc.roleLoadBalancer },
+      properties: ({ dependencies: { role } }) => ({
         apiVersion: "v1",
         metadata: {
+          annotations: {
+            "eks.amazonaws.com/role-arn": role?.live?.Arn,
+          },
           labels: {
             "app.kubernetes.io/component": "controller",
             "app.kubernetes.io/name": "aws-load-balancer-controller",
13.2.5

10 months ago

13.2.4

2 years ago

13.2.2

2 years ago

13.2.3

2 years ago

13.2.1

2 years ago

13.2.0

2 years ago

13.0.31-alpha.0

2 years ago

13.1.1

2 years ago

13.1.2

2 years ago

13.1.0

2 years ago

13.0.30-alpha.0

2 years ago

13.0.0

2 years ago

13.0.29-alpha.0

2 years ago

13.0.8-alpha.0

2 years ago

13.0.25-alpha.0

2 years ago

13.0.13-alpha.0

2 years ago

12.10.7

2 years ago

12.10.6

2 years ago

13.0.16-alpha.0

2 years ago

12.10.3

2 years ago

12.10.2

2 years ago

12.10.5

2 years ago

12.10.4

2 years ago

13.0.5-alpha.0

2 years ago

12.10.1

2 years ago

12.10.0

2 years ago

13.0.10-alpha.0

2 years ago

13.0.2-alpha.0

2 years ago

13.0.22-alpha.0

2 years ago

12.11.1

2 years ago

12.11.0

2 years ago

12.6.1

2 years ago

12.6.2

2 years ago

12.6.3

2 years ago

12.6.4

2 years ago

13.0.18-alpha.0

2 years ago

12.12.1

2 years ago

12.12.0

2 years ago

12.12.2

2 years ago

13.0.27-alpha.0

2 years ago

13.0.9-alpha.0

2 years ago

13.0.4-alpha.0

2 years ago

13.0.15-alpha.0

2 years ago

12.13.0

2 years ago

12.13.1

2 years ago

13.0.1-alpha.0

2 years ago

12.8.0

2 years ago

12.14.3

2 years ago

13.0.21-alpha.0

2 years ago

12.14.0

2 years ago

13.0.12-alpha.0

2 years ago

13.0.7-alpha.0

2 years ago

12.7.0

2 years ago

12.7.1

2 years ago

12.7.2

2 years ago

13.0.17-alpha.0

2 years ago

12.15.2

2 years ago

12.15.4

2 years ago

13.0.6-alpha.0

2 years ago

13.0.26-alpha.0

2 years ago

13.0.11-alpha.0

2 years ago

13.0.3-alpha.0

2 years ago

13.0.14-alpha.0

2 years ago

13.0.19-alpha.0

2 years ago

13.0.0-alpha.0

2 years ago

13.0.20-alpha.0

2 years ago

12.9.0

2 years ago

12.9.1

2 years ago

13.0.28-alpha.0

2 years ago

12.9.2

2 years ago

12.9.3

2 years ago

12.9.4

2 years ago

12.4.0

2 years ago

12.0.1

2 years ago

12.3.0

2 years ago

12.2.6

2 years ago

12.2.7

2 years ago

12.2.8

2 years ago

12.2.2

2 years ago

12.2.9

2 years ago

12.5.0

2 years ago

12.1.0

2 years ago

12.2.10

2 years ago

12.2.11

2 years ago

11.1.0

2 years ago

11.0.1

2 years ago

10.4.0

3 years ago

10.7.0

3 years ago

10.7.1

3 years ago

10.3.0

3 years ago

10.6.0

3 years ago

10.6.1

3 years ago

10.5.0

3 years ago

10.1.0

3 years ago

10.0.0

3 years ago

10.0.1

3 years ago

10.0.2

3 years ago

9.1.3

3 years ago

9.2.0

3 years ago

9.1.2

3 years ago

9.0.0

3 years ago

7.6.0

3 years ago

9.1.1

3 years ago

9.1.0

3 years ago

7.7.0

3 years ago

8.0.0

3 years ago

7.3.0

3 years ago

7.4.2

3 years ago

7.4.1

3 years ago

6.2.5

3 years ago

6.2.4

3 years ago

6.2.1

3 years ago

6.2.0

3 years ago

6.2.3

3 years ago

6.2.2

3 years ago

7.4.0

3 years ago

7.0.4

3 years ago

7.0.3

3 years ago

7.0.2

3 years ago

7.5.0

3 years ago

7.1.0

3 years ago

7.2.2

3 years ago

7.2.1

3 years ago

5.3.2

3 years ago

5.3.0

3 years ago

6.1.0

3 years ago

5.11.0

3 years ago

3.6.2

3 years ago

3.6.0

3 years ago

4.0.0

3 years ago

5.8.8

3 years ago

5.8.7

3 years ago

5.8.6

3 years ago

5.8.5

3 years ago

5.8.4

3 years ago

5.8.3

3 years ago

5.8.2

3 years ago

5.8.1

3 years ago

5.8.0

3 years ago

5.4.0

3 years ago

5.0.0

3 years ago

5.12.2

3 years ago

3.5.2

3 years ago

3.5.0

3 years ago

5.9.1

3 years ago

5.9.0

3 years ago

5.5.1

3 years ago

5.5.0

3 years ago

5.1.2

3 years ago

5.1.1

3 years ago

5.1.0

3 years ago

3.4.0

3 years ago

6.0.7

3 years ago

6.0.6

3 years ago

6.0.9

3 years ago

6.0.8

3 years ago

5.6.0

3 years ago

5.2.1

3 years ago

5.2.0

3 years ago

6.0.1

3 years ago

6.0.3

3 years ago

6.0.5

3 years ago

5.10.0

3 years ago

3.3.0

3 years ago

3.7.0

3 years ago

4.1.0

3 years ago

5.7.1

3 years ago

5.7.0

3 years ago

3.2.0

4 years ago

3.0.2

4 years ago

3.1.0

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.2.0

4 years ago

2.3.1

4 years ago

2.1.0

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.39.0

4 years ago

1.40.0

4 years ago

1.38.0

4 years ago

1.37.0

4 years ago

1.36.0

4 years ago

1.32.0

4 years ago

1.34.0

4 years ago

1.33.0

4 years ago

1.31.0

4 years ago

1.29.0

4 years ago

1.30.0

4 years ago

1.27.0

4 years ago

1.28.0

4 years ago

1.26.0

4 years ago

1.25.0

4 years ago

1.23.0

4 years ago

1.24.0

4 years ago

1.22.0

4 years ago

1.21.0

4 years ago

1.20.0

4 years ago

1.19.1

4 years ago

1.19.0

4 years ago

1.18.1

4 years ago

1.18.0

4 years ago

1.15.0

4 years ago

1.14.1

4 years ago

1.13.2

4 years ago

1.14.0

4 years ago

1.12.0

4 years ago

1.17.2

4 years ago

1.17.1

4 years ago

1.15.2

4 years ago

1.16.0

4 years ago

1.15.1

4 years ago

1.17.5

4 years ago

1.17.4

4 years ago

1.17.3

4 years ago

1.10.24

4 years ago

1.10.25

4 years ago

1.11.0

4 years ago

1.10.23

4 years ago

1.10.22

4 years ago

1.10.21

4 years ago

1.10.20

4 years ago

1.10.19

4 years ago

1.10.18

4 years ago

1.10.17

4 years ago

1.10.16

4 years ago

1.10.13

4 years ago

1.10.14

4 years ago

1.10.11

4 years ago

1.10.9

4 years ago

1.10.12

4 years ago

1.10.4

4 years ago

1.10.2

4 years ago

1.10.0

4 years ago

1.9.4

4 years ago

1.9.3

4 years ago