Contour Logo

Documentation

Introduction

Configuration

Deployment

Guides

Troubleshooting

Resources

Security

Contribute

This guide walks through creating a kind (Kubernetes in Docker) cluster on your local machine that can be used for developing and testing Contour.

Prerequisites

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-config.yaml:

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:

  • kind-control-plane
  • kind-worker

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

Next Steps

See https://projectcontour.io/getting-started/ for how to install Contour into your kind cluster.

Ready to try Contour?

Read our getting started documentation.