bug: operator pod restarting due to controller-runtime.source errors
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- docker, go, helm, kubernetes
- Área
- devops, infrastructure
Línea de trabajo
Comienza comparando cmd/fluent-manager/Dockerfile, el Makefile y la invocación de go build utilizada para crear la imagen que falla. Reproduce la instalación de Helm con la imagen personalizada e inspecciona los logs del operador junto con la imagen funcional kubesphere/fluent-operator:v2.8.0. Se considera completado cuando la imagen personalizada se ejecuta sin reinicios del pod ni errores de CRD faltantes para MultilineParser y ClusterMultilineParser.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the issue
I'm running into an issue building a fluent-operator image using the Makefile, or using the go build ... invocation and packaging the resulting manager binary into an image. Either approach results in pod restarts when deploying the operator.
The errors look like the following:
kubectl logs -n fluent fluent-operator-55dd7bc945-kthgm
Example MultilineParser error using docker build image
2024-05-28T13:21:44Z ERROR controller-runtime.source if kind is a CRD, it should be installed before calling Start {"kind": "MultilineParser.fluentbit.fluent.io", "error": "no matches for kind \"MultilineParser\" in version \"fluentbit.fluent.io/v1alpha2\""}
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1.1
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/source/source.go:143
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext
/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:154
k8s.io/apimachinery/pkg/util/wait.waitForWithContext
/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:207
k8s.io/apimachinery/pkg/util/wait.poll
/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/poll.go:260
k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext
/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/poll.go:200
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/source/source.go:136
Example ClusterMultilineParser from go build... image
2024-05-28T14:22:17Z INFO Starting workers {"controller": "fluentbit", "controllerGroup": "fluentbit.fluent.io", "controllerKind": "FluentBit", "worker count": 1}
2024-05-28T14:22:17Z ERROR controller-runtime.source if kind is a CRD, it should be installed before calling Start {"kind": "ClusterMultilineParser.fluentbit.fluent.io", "error": "no matches for kind \"ClusterMultilineParser\" in version \"fluentbit.fluent.io/v1alpha2\""}
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1.1
/var/cache/melange/gomodcache/sigs.k8s.io/[email protected]/pkg/source/source.go:143
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext
/var/cache/melange/gomodcache/k8s.io/[email protected]/pkg/util/wait/wait.go:154
k8s.io/apimachinery/pkg/util/wait.poll
/var/cache/melange/gomodcache/k8s.io/[email protected]/pkg/util/wait/poll.go:245
k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext
/var/cache/melange/gomodcache/k8s.io/[email protected]/pkg/util/wait/poll.go:200
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1
/var/cache/melange/gomodcache/sigs.k8s.io/[email protected]/pkg/source/source.go:136
2024-05-28T14:22:18Z INFO Starting workers {"controller": "fluentd", "controllerGroup": "fluentd.fluent.io", "controllerKind": "Fluentd", "worker count": 1}
2024-05-28T14:22:18Z INFO Starting workers {"controller": "collector", "controllerGroup": "fluentbit.fluent.io", "controllerKind": "Collector", "worker count": 1}
2024-05-28T14:22:18Z INFO Starting workers {"controller": "fluentd", "controllerGroup": "fluentd.fluent.io", "controllerKind": "Fluentd", "worker count": 1}
Both methods will show both Cluster/Multiline errors and the pod will restart. The operator will however create fluent-bit and fluentd pods given the appropriate manifest.
To Reproduce
build the image
cat VERSION
v2.8.0
docker build --platform linux/arm64 -f cmd/fluent-manager/Dockerfile . -t k3d-k3d.localhost:5005/fluent-operator:v2.8.0
docker push k3d-k3d.localhost:5005/fluent-operator:v2.8.0
helm install
helm repo add fluent https://fluent.github.io/helm-charts
helm install fluent-operator --create-namespace -n fluent fluent/fluent-operator --set operator.container.repository=k3d-k3d.localhost:5005/fluent-operator --set operator.container.tag=v2.8.0
Expected behavior
The pod should not be restarting and throwing errors about CRDs.
Your Environment
- Fluent Operator version:
v2.8.0 - Container Runtime:
containerd://1.7.15-k3s1 - Operating system:
ID=wolfi
NAME="Wolfi"
PRETTY_NAME="Wolfi"
VERSION_ID="20230201"
HOME_URL="https://wolfi.dev"
- Kernel version:
Linux d186e0ca7a21 6.6.16-linuxkit #1 SMP Fri Feb 16 11:54:02 UTC 2024 aarch64 Linux
How did you install fluent operator?
Using helm:
helm repo add fluent https://fluent.github.io/helm-charts
helm install fluent-operator --create-namespace -n fluent fluent/fluent-operator --set operator.container.repository=k3d-k3d.localhost:5005/fluent-operator --set operator.container.tag=v2.8.0
Additional context
Running with the kubesphere/fluent-operator:v2.8.0 image explicitly, or by not setting the operator.container.repository value in the helm chart results in no errors.
- Lenguaje dominante
- Go
- Estrellas
- 689
- Forks
- 333
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 41
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fluent/fluent-operator
-
feat: support storage.total_limit_size for the fluent-bit forward outputPosiblemente ocupada @cvas22 la tomó hace 1 día. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 30/100
fluent/fluent-operator#2126 ·
Los mantenedores suelen responder en 2 días
-
bug: fluent-bit image still ships vulnerable libbrotli1 (CVE-2026-111497)Posiblemente ocupada @joshuabaird la tomó hace 9 días. Abiertofluent-bit security
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
fluent/fluent-operator#2082 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
bug: fluent operator is consuming lot of cpu cores (~27 of the 32 available cores on a Node)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
fluent/fluent-operator#1990 · 6 comentarios ·
Los mantenedores suelen responder en 2 días
-
enhancement fluent-bit good first issue
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
fluent/fluent-operator#1854 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
Remove tag consideration from Fluentd ClusterFilter / Filter orderPosiblemente ocupada @cvas22 la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
fluent/fluent-operator#1832 ·
Los mantenedores suelen responder en 2 días
Todos los issues de fluent/fluent-operator
Issues similares
-
area/docs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
meshery/meshery#23375 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
ApplicationSet: BitBucket Cloud SCM provider returns corrupted error (%!w(<nil>)) when a branch has no commit hashPosiblemente ocupada @AP24110011695 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
go good first issue help wanted up-for-grabs
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
andrewsiah/agentswarm-data-tasks#308 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
multica-ai/multica#10511 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día