Skip to content

[fluentd] sidecarContainers resource not set for Fluentd configcheck pod #2103

@highpingblorg

Description

@highpingblorg

Bugs should be filed for issues encountered whilst operating logging-operator.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors. #logging-operator
Please provide as much detail as possible.

Describe the bug:
When setting the sidecarContainers resource within the FluentdSpec does not deploy a container with the fluentd-configcheck pods

---
apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
  name: default
  namespace: logging
spec:
    sidecarContainers:
      - command:
          - /bin/sh
          - '-c'
          - sleep infinity;
        image: busybox:1.37
        imagePullPolicy: IfNotPresent
        name: fluentd-sidecar
        resources:
          limits:
            memory: 64Mi
          requests:
            cpu: 250m
            memory: 64Mi
        securityContext:
          readOnlyRootFilesystem: true
        volumeMounts:
          - mountPath: /volumemount
            name: volumemount
    extraVolumes:
      - path: /volumemount
        volume:
          emptyDir: {}
        volumeName: volumemount
➜  ~ kube get pods default-fluentd-configcheck-X  --namespace logging -o jsonpath='{.spec.containers[*].name}'
fluentd                                                                                                                                                     
➜  ~ kube get pods default-fluentd-0  --namespace logging -o jsonpath='{.spec.containers[*].name}'
fluentd config-reloader fluentd-sidecar

Expected behaviour:
I expect the configcheck pod to have the sidecar container deployed as well. The extraVolumes resource in the FluentdSpect CRD is acknowledged and set for the configcheck pod

➜  ~ kube get pods default-fluentd-0  --namespace logging -o jsonpath='{.spec.containers[*].volumeMounts[0]}' | jq
{
  "mountPath": "/fluentd/etc/",
  "name": "config"
}
{
  "mountPath": "/fluentd/app-config",
  "name": "app-config"
}
{
  "mountPath": "/volumemount",
  "name": "volumemount"
}

➜  ~ kube get pods default-fluentd-configcheck-X  --namespace logging -o jsonpath='{.spec.containers[*].volumeMounts}' | jq
[
  {
    "mountPath": "/fluentd/etc/",
    "name": "config"
  },
  {
    "mountPath": "/fluentd/app-config/",
    "name": "app-config"
  },
  {
    "mountPath": "/volumemount",
    "name": "volumemount"
  },
....
]

Steps to reproduce the bug:
Set a sidecarContainers resource for the FluentdSpec CRD

Additional context:
The reason this is being used is to copy over a more recent and updated GeoIP .mmdb file, due to the current one bundled with the Fluentd GeoIP being out of date and the plugins seems to have not been maintained in years.

Environment details:

  • Kubernetes version: v1.33.2
  • Cloud-provider/provisioner): OVH MKS
  • logging-operator version: 6.0.3
  • Install method: helm v3.18.4

/kind bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions