@@ -7,8 +7,8 @@ Ingress controller
77Ingress controller when deploying OpenStack on Kubernetes
88is essential to ensure proper external access for the OpenStack services.
99
10- We recommend using the `ingress-nginx `_ because it is simple and provides
11- all necessary features. It utilizes Nginx as a reverse proxy backend.
10+ We recommend using the `haproxy-ingress `_ because it is simple and provides
11+ all necessary features. It utilizes HAProxy as a reverse proxy backend.
1212Here is how to deploy it.
1313
1414First, let's create a namespace for the OpenStack workloads. The ingress
@@ -30,19 +30,14 @@ Next, deploy the ingress controller in the ``openstack`` namespace:
3030
3131.. code-block:: bash
3232
33- helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
34- helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
35- --version="4.8.3" \
36- --namespace=openstack \
37- --set controller.kind=Deployment \
38- --set controller.admissionWebhooks.enabled="false" \
39- --set controller.scope.enabled="true" \
40- --set controller.service.enabled="false" \
41- --set controller.ingressClassResource.name=nginx \
42- --set controller.ingressClassResource.controllerValue="k8s.io/ingress-nginx" \
43- --set controller.ingressClassResource.default="false" \
44- --set controller.ingressClass=nginx \
45- --set controller.labels.app=ingress-api
33+ helm repo add haproxy-ingress https://haproxy-ingress.github.io/charts
34+ helm upgrade --install haproxy-ingress haproxy-ingress/haproxy-ingress \
35+ --version 0.15.0 \
36+ --namespace=openstack \
37+ --set controller.kind=Deployment \
38+ --set controller.ingressClassResource.enabled="true" \
39+ --set controller.ingressClass=ingress-openstack \
40+ --set controller.podLabels.app=ingress-api
4641
4742You can deploy any other ingress controller that suits your needs best.
4843See for example the list of available ` ingress controllers` _.
@@ -54,7 +49,7 @@ For example, the OpenStack-Helm ``keystone`` chart by default creates a service
5449that redirects traffic to the ingress controller pods selected using the
5550` ` app: ingress-api` ` label. Then it also creates an ` ` Ingress` ` resource which
5651the ingress controller then uses to configure its reverse proxy
57- backend (Nginx ) which eventually routes the traffic to the Keystone API
52+ backend (HAProxy ) which eventually routes the traffic to the Keystone API
5853service which works as an endpoint for Keystone API pods.
5954
6055.. image:: ingress.jpg
@@ -67,7 +62,7 @@ service which works as an endpoint for Keystone API pods.
6762 service of type ` ` LoadBalancer` ` or ` ` NodePort` ` with the selector pointing to
6863 the ingress controller pods.
6964
70- .. _ingress-nginx : https://github.com/kubernetes/ingress-nginx/blob/main/charts/ ingress-nginx/README.md
65+ .. _haproxy-ingress : https://haproxy- ingress.github.io/
7166.. _ingress controllers: https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/
7267
7368MetalLB
0 commit comments