operator icon indicating copy to clipboard operation
operator copied to clipboard

Deprecate the global `spec.high-availability` field

Open matzew opened this issue 3 years ago • 4 comments

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

matzew avatar Sep 28 '22 06:09 matzew

/cc @houshengbo

matzew avatar Sep 28 '22 15:09 matzew

@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.

houshengbo avatar Sep 29 '22 15:09 houshengbo

This is a good compromise

matzew avatar Sep 30 '22 07:09 matzew

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

xfu83 avatar Sep 30 '22 19:09 xfu83

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.

github-actions[bot] avatar Dec 30 '22 01:12 github-actions[bot]