Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-7587

Collector Rollout and KubeAPI Caching

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Major Major
    • Logging 6.4.0
    • None
    • Log Collection
    • None
    • Collector Rollout and KubeAPI Caching
    • Incidents & Support
    • False
    • Hide

      None

      Show
      None
    • False
    • Green
    • NEW
    • Administer, API
    • In Progress
    • OBSDA-1214 - Enable kube api-server Caching for Log Collection
    • OBSDA-1214Enable kube api-server Caching for Log Collection
    • NEW
    • 25% To Do, 50% In Progress, 25% Done
    • Hide
      This enhancement provides changes to log collector deployments to promote Tech Preview configuration options introduced in LOG-7196 to General Acceptance. These additions specifically enables caching of kube API server calls and introduces a ClusterLogForwarder field to allow tuning of the collector rollout strategy. These changes allow administrators managing clusters with large numbers of nodes to modify the collector upgrade behavior to not overwhelm the Kubernetes API server with requests. This can be accomplished by reducing the number of MaxUnavailable collectors during upgrade
      Show
      This enhancement provides changes to log collector deployments to promote Tech Preview configuration options introduced in LOG-7196 to General Acceptance. These additions specifically enables caching of kube API server calls and introduces a ClusterLogForwarder field to allow tuning of the collector rollout strategy. These changes allow administrators managing clusters with large numbers of nodes to modify the collector upgrade behavior to not overwhelm the Kubernetes API server with requests. This can be accomplished by reducing the number of MaxUnavailable collectors during upgrade
    • 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

              jcantril@redhat.com Jeffrey Cantrill
              jcantril@redhat.com Jeffrey Cantrill
              Anping Li Anping Li
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: