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 minikube start command example 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 apply --small --ingress-class haproxy --fqdn my-fqdn --namespace my-namespace