Enable New logging unit to deploy components from logging-operator from upstream helmchart kube-logging

related to #1807 (closed)

Currently Logging unit which when get enabled deploys components like FluentBit, FluentD and journald which does log collection and aggregation but these component are from cattle-logging-system and get deployed from rancher chart and do not provide latest version of these components so it is decided to explore and experiment a upstream chart called kube-logging (https://github.com/kube-logging/logging-operator) which comes with logging operator and deploys latest versions of these components. So through this MR logging stack is checked and validated with logging components deployed by logging-operator which comes from upstream chart (https://github.com/kube-logging/logging-operator)

This MR introduces new kustomization unit called "kube-logging" which is an alternative option for current logging unit called "Logging" which is from cattle-logging-system. The purpose of this MR is to bring in use of Logging operator to make sure to have latest version of components like FluentBit and Fluentd.

Current Logging stack provides fluentd - v1.14.6 and fluentbit - 2.2.0 but currently FluentBit(3.1) and Fluentd(1.16.6) is the version provided by logging-operator so moving to this alternative approach of using logging-operator could make it easier to faster bug/security fixes and more elasticity in configuring our logging stack.

Through this MR there is also component called host-tailer has been included to collect rke2 logs ( in case of RKE2 bootstrap provider) PODS deployed from kube-logging unit image image image

This MR will introduce changes in such a way that user can still enable logging unit and go with older approach.

On Grafana side this is how logs are coming in mangement cluster image Logs related to RKE2 from Host Tailer PODS image

CI configuration

Below you can choose test deployment variants to run in this MR's CI.

Click to open to CI configuration

Legend:

Icon Meaning Available values
☁️ Infra Provider capd, capo, capm3
🚀 Bootstrap Provider kubeadm (alias kadm), rke2
🐧 Node OS ubuntu, suse
🛠️ Deployment Options light-deploy, oci, ha, misc
🎬 Pipeline Scenarios rolling-update, mgmt-rolling-update, k8s-upgrade, sylva-upgrade, sylva-upgrade-from-x.x.X, simple-update, preview, nightly
  • 🎬preview ☁️capd 🚀kadm 🐧ubuntu 🛠️oci

  • 🎬preview ☁️capo 🚀rke2 🐧suse

  • 🎬preview ☁️capm3 🚀rke2 🐧ubuntu

  • ☁️capd 🚀kubeadm 🛠️light-deploy 🐧ubuntu

  • ☁️capd 🚀rke2 🛠️oci,light-deploy 🐧suse

  • ☁️capo 🚀rke2 🛠️logging 🐧suse

  • ☁️capo 🚀kadm 🛠️oci 🐧ubuntu

  • ☁️capo 🚀rke2 🎬rolling-update 🛠️ha 🐧ubuntu

  • ☁️capo 🚀kadm 🎬k8s-upgrade 🐧ubuntu

  • ☁️capo 🚀rke2 🎬mgmt-rolling-update 🛠️ha,misc 🐧suse

  • ☁️capo 🚀rke2 🎬sylva-upgrade 🛠️misc,ha,logging 🐧ubuntu

  • ☁️capo 🚀rke2 🎬sylva-upgrade 🛠️misc,ha,logging 🐧suse

  • ☁️capo 🚀rke2 🛠️misc,ha,logging 🐧ubuntu

  • ☁️capo 🚀rke2 🛠️misc,ha,logging 🐧suse

  • ☁️capm3🚀rke2 🎬sylva-upgrade 🛠️misc,ha 🐧suse

  • ☁️capm3🚀rke2 🛠️ha,logging 🐧suse

Global config for deployment pipelines

  • autorun pipelines
  • allow failure on pipelines
  • record sylvactl events

Be aware: after configuration change, pipeline is not triggered automatically. Please run it manually (by clicking the run pipeline button in Pipelines tab) or push new code.

Edited by Amit Kumar

Merge request reports

Loading