Creating a Contour-compatible kind cluster
This guide walks through creating a kind (Kubernetes in Docker) cluster on your local machine that can be used for developing and testing Contour.
Download & install Docker and kind:
Kind configuration file
Create a kind configuration file locally. This file will instruct kind to create a cluster with one control plane node and one worker node, and to map ports 80 and 443 on your local machine to ports 80 and 443 on the worker node container. This will allow us to easily get traffic to Contour/Envoy running inside the kind cluster from our local machine.
Copy the text below into the local yaml file
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - role: worker extraPortMappings: - containerPort: 80 hostPort: 80 listenAddress: "0.0.0.0" - containerPort: 443 hostPort: 443 listenAddress: "0.0.0.0"
Kubernetes cluster using kind
Create a kind cluster using the config file from above:
$ kind create cluster --config kind-config.yaml
Verify the nodes are ready by running:
$ kubectl get nodes
You should see 2 nodes listed with status Ready:
Congratulations, you have created your cluster environment. You’re ready to install Contour.
Note: When you are done with the cluster, you can delete it by running:
$ kind delete cluster
See https://projectcontour.io/getting-started/ for how to install Contour into your kind cluster.