caused: exec: "/manager": stat /manager error in egress-operator-controller-manager pod description
shreya-bhatnagar opened this issue · comments
my coredns
and egress-operator-deployment
pods are running fine. But egress-operator-controller-manager
pod (created after make deploy IMG=my_azure_repo/egress-operator:v0.1
) is giving error in pod description as:
Failed m2s (x4 over 4m35s) kubelet Error: failed to create containerd task:
OCI runtime create failed: container_linux.go:380: starting container process
caused: exec: "/manager": stat /manager: no such file or directory: unknown
my make run
and make deploy IMG=my_azure_repo/egress-operator:v0.1
also worked fine without any error.
some path /manager
not able to be recognized by makefile or might be a typo in manager.yaml
it seems?
Can this be caused because of this line ? Please suggest.
@boffbowsh @samstarling @chrisfarms @suhailpatel : I suspect that in manager.yaml, command: /manager
is executed.
Can someone let me know whether /manager
is valid under command:
in deployment.yaml as I am getting error:
Failed m2s (x4 over 4m35s) kubelet Error: failed to create containerd task:
OCI runtime create failed: container_linux.go:380: starting container process
caused: exec: "/manager": stat /manager: no such file or directory: unknown
My coredns pod is working fine, make deploy IMG=...
also worked fine without any error.
Resolution: Golang uses glibc by default. I debugged build process and found that the Dockerfile is using: distroless/static image for packaging the manager binary. As per distroless, I found that distroless/static
is not supporting glibc package. So I replaced distroless/static
with distroless/base
image that supports glibc. After fixing this in dockerfile the build happened successfully and this error got resolved.