projectcontour / contour-operator

Experimental repository to explore an operator for deploying Contour
Apache License 2.0
43 stars 34 forks source link

Support using a Deployment or other alternative to DaemonSets for Envoy? #74

Open Miciah opened 3 years ago

Miciah commented 3 years ago

Users may prefer to deploy Envoy using Deployments rather than DaemonSets. Using Deployments provides more control, for example over pod scheduling and over the deployment strategy.

Relates to https://github.com/projectcontour/contour-operator/issues/60 (/status subresource) and https://github.com/projectcontour/contour-operator/issues/72 (/scale subresource).

@jpeach, is there background on the decision to use DaemonSets to manage Envoy?

stevesloka commented 3 years ago

Envoy scales on CPU threads so adding additional Envoy's to the same host doesn't give you more perf. It also spreads network traffic across nodes since only one instance of Envoy can be on a node at a time.

It's not set in stone though in terms of Daemonset vs Deployment which is why it's called "examples" in the repo. There are numerous ways someone might need to deploy Contour/Envoy so we offer up one solution.