exec /manager: exec format error on arm64 k8s
romicharroyo opened this issue · 8 comments
Describe the bug
Messaging topology operator pod fails to run under arm64 Kubernetes with error exec /manager: exec format error
Version and environment information
- Messaging Topology Operator: 1.10.2
- Kubernetes: 1.23
- Cloud provider or hardware configuration: AWS, c6g.2xlarge instance type (arm64 CPU)
Additional context
Add any other context about the problem here.
This is unusual, as I am able to run the image locally on an arm64 machine (/manager
then fails for other reasons with an error, due to the lack of k8s API, but has executed).
Inspecting the image docker.io/rabbitmqoperator/messaging-topology-operator:latest
I can see that it is a multi-arch image with both amd64
and arm64
as supported architectures. One option would be to pull docker.io/rabbitmqoperator/messaging-topology-operator:latest@sha256:44f11bebea8ca81818cdfe06927bd0254211dae299d7e867608af7ebe203f0c3
which is the arm64 image.
Yes. I also ran docker.io/rabbitmqoperator/messaging-topology-operator:latest
on my Mac M1
docker run -it docker.io/rabbitmqoperator/messaging-topology-operator:latest
{"level":"info","ts":"2023-04-19T13:31:32Z","logger":"setup","msg":"unable to find operator namespace"}
But. In doesn't work on AWS (EKS) with AWS Graviton CPU.
Hmmm, that is indeed puzzling.
Can you attach a debug container to the pod and let us know what architecture is reported when running uname -m
?
https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container
On my k8s cluster on AWS arch is aarch64
Hello! Maybe this discussion can help ? #570
There was a fix recently but a new version of the operator wasn't yet released. Can you try with the image specified on the thread?
Yes. Thanks! Image tag sha-9f98295-arm64
works good.
We've released a 1.10.3 patch which should hopefully have a working multi-arch image 🤞🏼