Contour Operator provides a method for packaging, deploying, and managing Contour. The operator extends the functionality of the Kubernetes API to create, configure, and manage instances of Contour on behalf of users. It builds upon the basic Kubernetes resource and controller concepts, but includes domain-specific knowledge to automate the entire lifecycle of Contour. Refer to the official Kubernetes documentation to learn more about the benefits of the operator pattern.
- A Kubernetes cluster
- kubectl installed
Install the Contour Operator & Contour CRDs:
$ kubectl apply -f https://raw.githubusercontent.com/projectcontour/contour-operator/main/examples/operator/operator.yaml
Verify the deployment is available:
$ kubectl get deploy -n contour-operator
NAME READY UP-TO-DATE AVAILABLE AGE
contour-operator 1/1 1 1 1m
Install an instance of the Contour
custom resource:
$ kubectl apply -f https://raw.githubusercontent.com/projectcontour/contour-operator/main/examples/contour/contour.yaml
Verify the Contour
custom resource is available:
$ kubectl get contour/contour-sample
NAME READY REASON
contour-sample True ContourAvailable
Note: It may take several minutes for the Contour
custom resource to become available.
$ kubectl apply -f https://projectcontour.io/examples/kuard.yaml
Verify the example app deployment is available:
$ kubectl get deploy/kuard
NAME READY UP-TO-DATE AVAILABLE AGE
kuard 3/3 3 3 1m50s
Test the example app:
$ curl -o /dev/null -s -w "%{http_code}\n" https://local.projectcontour.io/
200
Note: A public DNS record exists for "local.projectcontour.io" which is
configured to resolve to 127.0.0.1
. This allows you to use a real domain name
when testing in a kind cluster. If testing on a
standard Kubernetes cluster, replace "local.projectcontour.io" with the
hostname of kubectl get deploy/kuard
.
Thanks for taking the time to join our community and start contributing!
- Please familiarize yourself with the Code of Conduct before contributing.
- See the contributing guide for information about setting up your environment, the expected workflow and instructions on the developer certificate of origin that is required.
- Check out the open issues.
- Join the Contour Slack channel: #contour
- Join the Contour Community Meetings - details can be found here