An ingress controller is essential for managing external access to services in your Kubernetes cluster. It acts as a smart router and load balancer, allowing you to expose multiple services through a single entry point while handling SSL termination and routing rules.Keep works best with bothingress-nginxandHAProxy Ingresscontrollers, but you can customize the helm chart for other ingress controllers too.
You check if you already have ingress-nginx installed:
Copy
# By default, the ingress-nginx will be installed under the ingress-nginx namespacekubectl -n ingress-nginx get podsNAME READY STATUS RESTARTS AGEingress-nginx-controller-d49697d5f-hjhbj 1/1 Running 0 4h19m# Or check for the ingress classkubectl get ingressclassNAME CONTROLLER PARAMETERS AGEnginx k8s.io/ingress-nginx <none> 4h19m
# simplest way to install# we set snippet-annotations to true to allow rewrites# see https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#allow-snippet-annotationshelm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --set controller.config.allow-snippet-annotations=true \ --set controller.config.annotations-risk-level=Critical \ --namespace ingress-nginx --create-namespace
Verify installation:
Copy
kubectl get ingressclassNAME CONTROLLER PARAMETERS AGEnginx k8s.io/ingress-nginx <none> 4h19m
# Add the Helm repositoryhelm repo add keephq https://keephq.github.io/helm-charts# Install Keep without ingress enabled.# You won't be able to access Keep from the network.helm install keep keephq/keep -n keep --create-namespace \ --set global.ingress.enabled=false