Centiloc Service Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

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 Helm Repository

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

Installing Contour

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.

LoadBalancer

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

NodePort

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 the NodePort specified during the Contour installation matches the port configured in your kind configuration (e.g., 30180 in the above example).

ClusterIP

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"

Uninstalling Contour

To uninstall the contour deployment, use the following command:

helm delete contour -n contour