Ingress with Contour
Contour is a project designed to improve and streamline network communication within Kubernetes clusters, making it an essential component for managing traffic within containerized applications. It employs Envoy, a high-performance proxy, to handle ingress traffic and distribute it efficiently across various services.
Add a reference to the Bitnami repository, which is the source for the Contour installation, you can use the following command:
helm repo add bitnami https://charts.bitnami.com/bitnami
After completing the process, don’t forget to update your repository catalog with the following command:
helm repo update
By default Contour is installed as a LoadBalancer
, but depending on your use case, you might want to install Contour as a NodePort
, or as a ClusterIP
.
When working with either single or multi-node clusters, you might want to install Contour as a LoadBalancer
. To do so, please follow the instructions below:
helm install contour bitnami/contour --namespace contour --create-namespace --version=13.1.0 --set contour.certgen.certificateLifetime=2190
In a developement environment using kind
, you have to install Contour as a NodePort
. You can achieve this by running the following command:
helm install contour bitnami/contour --namespace contour --create-namespace --version=13.1.0 --set contour.certgen.certificateLifetime=2190 --set envoy.service.type="NodePort" --set envoy.service.nodePorts.http="30180"
Make sure that theNodePort
specified during the Contour installation matches the port configured in yourkind
configuration (e.g., 30180 in the above example).
Depending on your infrastructure architecture, you may consider installing Contour as a ClusterIP
. This approach could be beneficial if you already have an Ingress Controller installed as a LoadBalancer
, yet you require Contour to handle HTTP2, and gRPC-web. To install Contour as a ClusterIP
use the following command:
helm install contour bitnami/contour --namespace contour --create-namespace --version=13.1.0 --set contour.certgen.certificateLifetime=2190 --set envoy.service.type="ClusterIP"
To uninstall the contour deployment, use the following command:
helm delete contour -n contour