Closed juchiast closed 10 months ago
replicaset.apps/arroyo-worker-job-zgfuyex3ab-1:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:16:73
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:16:73
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: JoinError::Panic(Id(1), ...)', src/main.rs:66:21
Hi @juchiast thanks for checking out Arroyo!
In Kubernetes, we use a very small worker image (built by this Dockerfile) which is responsible for downloading the pipeline binary from S3 or the filesystem and starting it. That (not very clear) error message is saying that it failed to find the binary.
I believe the issue here is with your helm configuration. You've configured everything to use local paths (/tmp/arroyo-test) which will work when running everything on a single node (like in minikube) but not on a distributed cluster.
Instead you will need to configure an S3 bucket to store the pipeline artifacts, like in https://doc.arroyo.dev/deployment/kubernetes#example-eks-configuration.
Happy to help you synchronously on Discord as well if that's easier!
Thanks! I suggest adding to the docs so that users will know local config won't work when running on EKS.
Btw, I had to manually set K8S_WORKER_SERVICE_ACCOUNT_NAME env var of arroyo-controller to make it work with s3.
Installed on EKS, Kubernetes 1.26, 4x t3.large instances, arroyo-0.5.
values.yaml:
Logs:
deployment.apps/arroyo-controller: