Deprecate the global `spec.high-availability` field
On both KnativeServing and KnativeEventing we have:
high-availability:
replicas: XXX
Which does a global replica setting of all deployments.apps. This was a good start in the beginning, but I think we should deprecate this, since we can do a much better fine-grain replica setting, using the spec.deployments field
/cc @houshengbo
@matzew We can mark it as deprecated and sterilize the functions related to this field, but will not physically remove the field(keep it for a few releases). Removal of fields in the same CRD version can lead to problems.(Ran into them before, do not want to step over again)
Once there is new CRD version, like v1, ready, then we can remove this field.
This is a good compromise
high-availability is used by us to set minReplicas for HorizontalPodAutoscaler for knative-serving
https://github.com/knative/serving/blob/release-1.6/config/core/deployments/activator-hpa.yaml#L25
https://github.com/knative/operator/blob/8738a21c9c4f5b9d7b27fef0cc9230f264e8e2d0/pkg/reconciler/common/ha.go#L68
and i don’t think we can do the same with just the deployments.replicas
https://github.com/knative/operator/blob/8738a21c9c4f5b9d7b27fef0cc9230f264e8e2d0/pkg/reconciler/common/deployments_override.go#L89
This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.