Skip to content

Commit 32e60f2

Browse files
committed
Update docs for ALBCM
1 parent f619aa1 commit 32e60f2

File tree

2 files changed

+28
-21
lines changed

2 files changed

+28
-21
lines changed
Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff 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.
36

47
##### Environment Variables
8+
59
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+
1716
The controller uses the default Kubernetes client. Ensure your KUBECONFIG environment variable is set or your current context is correctly configured:
1817
```
1918
export KUBECONFIG=~/.kube/config
2019
```
21-
#### Run
22-
Use the provided Makefile in the root of repository to start the controller:
23-
```
24-
make run
25-
```
2620

2721
### Create your deployment and expose it via Ingress
22+
2823
1. Create your k8s deployment, here’s an example of a simple http web server:
24+
2925
```
3026
apiVersion: apps/v1
3127
kind: Deployment
@@ -50,7 +46,9 @@ spec:
5046
ports:
5147
- containerPort: 80
5248
```
49+
5350
2. Now, create a k8s service so that the traffic can be routed to the pods:
51+
5452
```
5553
apiVersion: v1
5654
kind: Service
@@ -69,8 +67,11 @@ spec:
6967
app: httpbin-deployment
7068
type: NodePort
7169
```
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+
7373
3. Create an IngressClass that specifies the ALB Ingress controller:
74+
7475
```
7576
apiVersion: networking.k8s.io/v1
7677
kind: IngressClass
@@ -80,7 +81,9 @@ metadata:
8081
spec:
8182
controller: stackit.cloud/alb-ingress
8283
```
84+
8385
4. Lastly, create an ingress resource that references the previously created IngressClass:
86+
8487
```
8588
apiVersion: networking.k8s.io/v1
8689
kind: Ingress

docs/deployment.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717

1818
## Overview
1919

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.
2121

2222
## Deployment Components
2323

2424
The deployment consists of the following components:
2525

2626
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
2828
3. **Service**: Exposes metrics and API endpoints
2929

3030
## Deployment Configuration
@@ -50,6 +50,10 @@ The deployment can be customized using the following flags:
5050
- `--provide-controller-service`: Enable controller service (default: true)
5151
- `--provide-node-service`: Enable node service (default: true)
5252

53+
### Application Load Balancer Controller Manager
54+
55+
- `--cloud-config`: Path to cloud configuration file
56+
5357
## Deployment Steps
5458

5559
Apply the deployment using kustomize:

0 commit comments

Comments
 (0)