ForgeOps

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.

When you create your GKE, EKS, or AKS cluster:

  1. 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:

    1. Set the value of the helm.ingress-nginx.deploy variable to false.

    2. Set the value of the helm.ingress-haproxy.deploy variable to false.

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

  3. 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
    ...
  1. 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