Skip to content

Release v5.0.0

Compare
Choose a tag to compare
@SIGHUP-C-3PO SIGHUP-C-3PO released this 31 Mar 15:11
· 5 commits to main since this release
ff88a66

Logging Core Module Release v5.0.0

Welcome to the latest release of the logging module of SIGHUP Distribution maintained by team SIGHUP by ReeVo.

This update is a major version that adds support for the Kubernetes version 1.32 and drops support for 1.28. It also updates all components of module to the latest versions, including new features, security patches and bug fixes.

Component Images 🚢

Component Supported Version Previous Version
opensearch v2.19.1 2.17.1
opensearch-dashboards v2.19.1 2.17.1
logging-operator v5.2.0 4.10.0
loki-distributed v3.4.2 2.9.10
minio-ha RELEASE.2025-02-28T09-55-16Z RELEASE.2024-10-13T13-34-11Z

Bug Fixes and Changes 🐛

  • Added support for Kubernetes version 1.32
  • Updated MinIO to version RELEASE.2025-02-28T09-55-16Z
  • Updated Logging Operator to version 5.2.0
  • Added a ServiceMonitor resource for Logging Operator
  • Updated Loki to version 3.4.2
  • Updated OpenSearch and OpenSearch Dashboards images to 2.19.1
  • Added a ServiceMonitor for OpenSearch Dashboards

Breaking Changes 💔

Starting with the v5.0.0 of the Logging Core Module Loki version has been bumped to 3.4.2. Please refer to loki documentation
for the complete release notes.

Update Guide 🦮

Before upgrading Loki from 2.9.10 to 3.4.2

When upgrading Loki the Ingester StatefulSet needs to be scaled to at least 2 replicas before executing the upgrade to avoid losing logs that have not been flushed to a remote storage yet. Notice that the Ingester has an HPA defined and could already be scaled.

Once the StatefulSet has been scaled a patch needs to be applied to add the -ingester.flush-on-shutdown=true and the -log.level=debug flags on the Ingester. This will allow the Ingester to flush logs that still need to be pushed to the long term storage.

You can achieve this by using the following shell script:

ingester_replicas=$(kubectl get statefulsets.apps -n logging loki-distributed-ingester -o jsonpath={.status.currentReplicas})

if [ "${ingester_replicas}" -lt "2" ]; then
  kubectl scale sts -n logging loki-distributed-ingester --replicas=2
  kubectl wait -n logging statefulset/loki-distributed-ingester --for=jsonpath='{.status.availableReplicas}'=2 --timeout=5m
fi

kubectl patch statefulset loki-distributed-ingester -n logging --type='json' -p="[{\"op\":\"replace\",\"path\":\"/spec/template/spec/containers/0/args\",\"value\":[\"-config.file=/etc/loki/config/config.yaml\",\"-ingester.flush-on-shutdown=true\",\"-log.level=debug\",\"-target=ingester\"]}]"

kubectl rollout status -n logging statefulset/loki-distributed-ingester

Once the StatefulSet is stable and the patch has been applied the upgrade can be executed.

Upgrade using the distribution

To upgrade the module using the distribution please refer to the official documentation

Manual Upgrade

ℹ️ Note: Manually upgrading the module is deprecated. It is recommended to use it with the SIGHUP Distribution.

To upgrade the module run:

kustomize build | kubectl apply -f - --server-side