Ingress (NGINX)
In order for Tangram Pro™ to work properly, your Kubernetes cluster needs an ingress class. Ingresses allow web traffic to access the application, and usually provide services like load balancing and TLS/SSL termination for your cluster.
Installing the Ingress NGINX Controller
-
Create a namespace in which Ingress NGINX will be installed.
export NGINX_NAMESPACE="<your_nginx_namespace>" # set this value to your desired nginx namespace, i.e., 'ingress-nginx' kubectl create ns "$NGINX_NAMESPACE"
-
Add the Ingress NGINX chart repo to Helm and update it.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update
-
Create a Helm values file to configure how Ingress NGINX is installed to your cluster.
noteFollowing are the settings Tangram Flex uses along with some common configurations. While we cannot provide all possible permutations for every need in this tutorial, if you are not sure what configuration you need contact your Tangram Flex representative to set up a collaboration session to determine what is best for your deployment.
cat <<EOF >> ingress_nginx_values.yaml controller: allowSnippetAnnotations: false config: proxy-read-timeout: "3600" proxy-send-timeout: "3600" use-gzip: true # real-ip-header: proxy_protocol # useful if you have a L4 proxy in front of NGINX # set-real-ip-from: 0.0.0.0/0 # use-proxy-protocol: true # use-forwarded-headers: true EOF
Review the full set of valuesFor the full set of values options look here.
-
Install the ingress controller in the namespace you created above:
helm install -n "$NGINX_NAMESPACE" ingress-nginx ingress-nginx/ingress-nginx -f ingress_nginx_values.yaml
noteIf you are using the deployment package the
-f
argument will beingress/ingress_nginx_values.yaml
-
Verify the ingress controller is running:
kubectl get deploy/ingress-nginx-controller -n "$NGINX_NAMESPACE" -w
Review the Ingress NGINX Controller docs and the Helm chart docs for more info.