You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/albcm.md
+22-19Lines changed: 22 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,27 @@
1
-
### Run the ALB Ingress controller locally
2
-
To run the controller on your local machine, ensure you have a valid kubeconfig pointing to the target Kubernetes cluster where the ALB resources should be managed.
1
+
# Application Load Balancer Controller Manager
2
+
3
+
The Application Load Balancer Controller Manager (ALBCM) manages ALBs from within a Kubernetes cluster.
4
+
Currently, the Ingress API is supported.
5
+
Support for Gateway API is planned.
3
6
4
7
##### Environment Variables
8
+
5
9
The controller requires specific configuration and credentials to interact with the STACKIT APIs and your network infrastructure. Set the following variables:
6
-
- STACKIT_SERVICE_ACCOUNT_TOKEN: Your authentication token for performing CRUD operations via the ALB and Certificates SDK.
7
-
- STACKIT_REGION: The STACKIT region where the infrastructure resides (e.g., eu01).
8
-
- PROJECT_ID: The unique identifier of your STACKIT project where the ALB will be provisioned.
9
-
- NETWORK_ID: The ID of the STACKIT network where the ALB will be provisioned.
10
-
```
11
-
export STACKIT_SERVICE_ACCOUNT_TOKEN=<your-token>
12
-
export STACKIT_REGION=<region>
13
-
export PROJECT_ID=<project-id>
14
-
export NETWORK_ID=<network-id>
15
-
```
16
-
Kubernetes Context
10
+
11
+
- STACKIT_REGION: The STACKIT region where the infrastructure resides (e.g., eu01).
12
+
- PROJECT_ID: The unique identifier of your STACKIT project where the ALB will be provisioned.
13
+
- NETWORK_ID: The ID of the STACKIT network where the ALB will be provisioned.
14
+
- In addition, the ALBCM supports all environment variable support by the STACKIT SDK. This includes authentication.
15
+
17
16
The controller uses the default Kubernetes client. Ensure your KUBECONFIG environment variable is set or your current context is correctly configured:
18
17
```
19
18
export KUBECONFIG=~/.kube/config
20
19
```
21
-
#### Run
22
-
Use the provided Makefile in the root of repository to start the controller:
23
-
```
24
-
make run
25
-
```
26
20
27
21
### Create your deployment and expose it via Ingress
22
+
28
23
1. Create your k8s deployment, here’s an example of a simple http web server:
24
+
29
25
```
30
26
apiVersion: apps/v1
31
27
kind: Deployment
@@ -50,7 +46,9 @@ spec:
50
46
ports:
51
47
- containerPort: 80
52
48
```
49
+
53
50
2. Now, create a k8s service so that the traffic can be routed to the pods:
51
+
54
52
```
55
53
apiVersion: v1
56
54
kind: Service
@@ -69,8 +67,11 @@ spec:
69
67
app: httpbin-deployment
70
68
type: NodePort
71
69
```
72
-
>NOTE: The service has to be of type NodePort to enable access to the nodes from the outside of the cluster.
70
+
71
+
> NOTE: The service has to be of type NodePort to enable access to the nodes from the outside of the cluster.
72
+
73
73
3. Create an IngressClass that specifies the ALB Ingress controller:
74
+
74
75
```
75
76
apiVersion: networking.k8s.io/v1
76
77
kind: IngressClass
@@ -80,7 +81,9 @@ metadata:
80
81
spec:
81
82
controller: stackit.cloud/alb-ingress
82
83
```
84
+
83
85
4. Lastly, create an ingress resource that references the previously created IngressClass:
Copy file name to clipboardExpand all lines: docs/deployment.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,14 +17,14 @@
17
17
18
18
## Overview
19
19
20
-
The STACKIT Cloud Provider includes both the Cloud Controller Manager (CCM) for managing cloud resources and the CSI driver for persistent storage. This deployment provides a unified solution for cloud integration and storage provisioning.
20
+
The STACKIT Cloud Provider includes the Cloud Controller Manager (CCM) for managing cloud resources, the CSI driver for persistent storage and the Application Load Balancer Controller Manager (ALBCM) for managing STACKIT Application Load Balancer (ALB) via Ingress Resources.
21
21
22
22
## Deployment Components
23
23
24
24
The deployment consists of the following components:
25
25
26
26
1.**ServiceAccount**: `stackit-cloud-controller-manager` with appropriate RBAC permissions
27
-
2.**Deployment**: Runs the cloud provider container with necessary configuration
27
+
2.**Deployment**: Runs the cloud provider containers with necessary configuration
28
28
3.**Service**: Exposes metrics and API endpoints
29
29
30
30
## Deployment Configuration
@@ -50,6 +50,10 @@ The deployment can be customized using the following flags:
50
50
-`--provide-controller-service`: Enable controller service (default: true)
51
51
-`--provide-node-service`: Enable node service (default: true)
52
52
53
+
### Application Load Balancer Controller Manager
54
+
55
+
-`--cloud-config`: Path to cloud configuration file
0 commit comments