Ingress
By default, ForgeOps deployments use NGINX Ingress Controller.
For deployments on GKE, EKS, and AKS, the tf-apply cluster creation script deploys NGINX Ingress Controller when it creates new Kubernetes clusters. Alternatively, you can deploy HAProxy Ingress as your ingress controller.
For deployments on Minikube, the forgeops-minikube start command installs the ingress add-on in your Minikube cluster.
HAProxy Ingress
This section lists adjustments you’ll need to make if you want to perform a ForgeOps deployment that uses HAProxy Ingress as the ingress controller instead of NGINX Ingress Controller.
-
Before you run the tf-apply script, configure Terraform to deploy HAProxy Ingress in your cluster.
Modify these values under
cluster.tf_cluster_gke_small
in the override.auto.tfvars file:-
Set the value of the
helm.ingress-nginx.deploy
variable tofalse
. -
Set the value of the
helm.ingress-haproxy.deploy
variable tofalse
.
-
-
After you have run the tf-apply script, deploy HAProxy Ingress Controller by running the bin/ingress-controller-deploy.sh script.
Be sure to specify the
-i haproxy
option when you run the script. -
To get the ingress controller’s external IP address on your GKE, EKS, or AKS cluster, specify --namespace haproxy-ingress (instead of --namespace nginx-ingress) when you run the kubectl get services command. For example:
$ kubectl get services --namespace haproxy-ingress NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE haproxy-ingress LoadBalancer 10.84.6.68 34.82.11.221 80:32288/TCP,443:32325/TCP 38s ...
When you perform your ForgeOps deployment:
-
Specify the --ingress-class haproxy argument. For example:
$ cd /path/to/forgeops/bin $ ./forgeops install --small --ingress-class haproxy --fqdn forgeops.example.com --namespace my-namespace