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: content/learning-paths/servers-and-cloud-computing/kedify-http-autoscaling/install-ingress.md
+31-50Lines changed: 31 additions & 50 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,89 +4,70 @@ weight: 3
4
4
layout: "learningpathall"
5
5
---
6
6
7
-
Before deploying HTTP applications with Kedify autoscaling, you need an Ingress Controller to handle incoming traffic. Most managed Kubernetes services offered by major cloud providers (AWS EKS, Google GKE, Azure AKS) do not include an Ingress Controller by default.
7
+
## Install an ingress controller for HTTP autoscaling on Kubernetes
8
+
9
+
Before deploying HTTP applications with Kedify autoscaling, you need an ingress controller to handle incoming traffic. Most managed Kubernetes services (AWS EKS, Google GKE, Azure AKS) do not include an ingress controller by default. In this learning path, you install the NGINX Ingress Controller with Helm and target Arm64 nodes.
8
10
9
11
{{% notice Note %}}
10
-
If your cluster already has an Ingress Controller installed and configured, you can skip this step and proceed directly to the [HTTP Scaling guide](../http-scaling/).
12
+
If your cluster already has an ingress controller installed and configured, you can skip this step and proceed to the [HTTP scaling guide](../http-scaling/).
kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=300s
49
31
```
50
32
51
-
## Get the External Endpoint
33
+
Managed clouds may take a few minutes to allocate a public IP address or hostname.
52
34
53
-
Get the external IP address or hostname for your ingress controller and save it as an environment variable:
35
+
## Get the external endpoint
54
36
37
+
Retrieve the external IP address or hostname and store it in an environment variable:
55
38
```bash
56
-
export INGRESS_IP=$(kubectl get service ingress-nginx-controller --namespace=ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}{.status.loadBalancer.ingress[0].hostname}')
39
+
export INGRESS_IP=$(kubectl get service ingress-nginx-controller --namespace=ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}{.status.loadBalancer.ingress[0].hostname}')
57
40
echo"Ingress IP/Hostname: $INGRESS_IP"
58
41
```
59
42
60
-
This will save the external IP or hostname in the `INGRESS_IP` environment variable and display it. If the command doesn't print any value, please repeat it after some time. Please note the value:
61
-
-**AWS EKS**: You'll see an AWS LoadBalancer hostname (e.g., `a1234567890abcdef-123456789.us-west-2.elb.amazonaws.com`)
62
-
-**Google GKE**: You'll see an IP address (e.g., `34.102.136.180`)
63
-
-**Azure AKS**: You'll see an IP address (e.g., `20.62.196.123`)
43
+
Typical values by provider:
44
+
-**AWS EKS**: Load balancer hostname (for example, `a1234567890abcdef-123456789.us-west-2.elb.amazonaws.com`)
45
+
-**Google GKE**: IP address (for example, `34.102.136.180`)
46
+
-**Azure AKS**: IP address (for example, `20.62.196.123`)
64
47
65
-
## Configure Access
48
+
If no value is printed, wait briefly and re-run the command.
66
49
67
-
To configure access to the ingress controller, you have two options:
50
+
## Configure access
68
51
69
-
### Option 1: DNS Setup (Recommended for production)
70
-
Point `application.keda` to your ingress controller's external IP/hostname using your DNS provider.
52
+
You have two options:
71
53
72
-
### Option 2: Host Header (Quick setup)
73
-
Use the external IP/hostname directly with a `Host:` header in your requests. When testing, you will use:
54
+
-**Option 1 — DNS (recommended for production):**
55
+
Create a DNS record pointing `application.keda` to the external IP address or hostname of your ingress controller.
Here, `$INGRESS_IP` expands to the external IP address or hostname of the ingress controller.
80
63
81
-
## Verification
82
-
83
-
Verify that the ingress controller is working by checking its readiness:
64
+
## Verify the installation
84
65
66
+
List the controller pods and confirm they are running:
85
67
```bash
86
68
kubectl get pods --namespace ingress-nginx
87
69
```
88
70
89
71
You should see the `ingress-nginx-controller` pod in `Running` status.
90
72
91
-
92
-
Now that you have an Ingress Controller installed and configured, proceed to the next section to deploy an application and configure Kedify autoscaling.
73
+
Now that you have an ingress controller installed and configured, proceed to the next section to deploy an application and configure Kedify autoscaling.
0 commit comments