knative / serving-operator

DEPRECATED: Development continues in https://github.com/knative/operator/
Apache License 2.0
39 stars 45 forks source link

Initial API fields for HA control plane #320

Closed pmorie closed 4 years ago

pmorie commented 4 years ago

Problem

Now that leader election has landed in 0.13, we should make the operator deploy an HA configuration by default.

Persona:

Users of the operator

Exit Criteria A measurable (binary) test that would indicate that the problem has been resolved.

Time Estimate (optional): Simple

evankanderson commented 4 years ago

We had a discussion in the WG meeting on 3/3 that we don't want to double the resources for Minikube, so me may need some sort of controllable option and/or auto-sizing (i.e. "turn off HA if there is only 1 node in the cluster").

pmorie commented 4 years ago

I'm renaming this issue to be for the initial API changes that allow you to specify an HA installation.

pmorie commented 4 years ago

After discussion with @jcrossley3, i offer the following proposal:

type KnativeServingSpec struct {
  // other fields omitted

  // non-nil indicates HA is requested
  HighAvailability *HighAvailability
}

type HighAvailability struct {
  // Replicas is the number of replicas to run for the HA parts of the control plane
  Replicas int
}
pmorie commented 4 years ago

part of https://github.com/knative/pkg/issues/1007