-
Epic
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Collector Rollout and KubeAPI Caching
-
Incidents & Support
-
False
-
-
False
-
Green
-
NEW
-
Administer, API
-
In Progress
-
OBSDA-1214 - Enable kube api-server Caching for Log Collection
-
-
NEW
-
25% To Do, 50% In Progress, 25% Done
-
-
Enhancement
-
M
Goals
- Enable read from kube-apiserver list cache by default for container inputs
- Allow tuning of the collector rollout strategy
- Declare the existing annotations as deprecated
- Declare the new api (for rollout) and new default config setting (for cache) as GA
- Drop support for the annotations in release N+1 (e.g. 6.5)
Non-Goals
- To provide a tunable knob to modify the kubernetes_log api cache setting
Motivation
Several customers with large clusters experienced significant cluster performance issues upon upgrade due to log collection. Resolution to those issues were fixed as a bug that introduced a tech preview feature. This epic captures the work necessary for these features to become GA
Alternatives
- Continue to depend upon the annotations and graduate them to GA
Acceptance Criteria
- Verify collector deployments are configured to make read list requests from the api server cache
- Verify the collector rollout strategy is configurable through the CLF API
Risk and Assumptions
- Upstream issue claims it is possible for "inconsistencies" but does not elaborate. We are assuming the responses from the kube-apiserver will converge to a "consistent" state and the collectors will be informed of the changes.
Documentation Considerations
- API update
- API field MaxUnavailable takes precedence over annotation
- `observability.openshift.io/max-unavailable-rollout` annotation is deprecated and subject to being removed in a future release
- `observability.openshift.io/use-apiserver-cache` annotation is no longer honored being replaced by always enabled
Open Questions
Additional Notes
- There was mention by support of introducing a deprecation alert