spring-cloud-dataflow icon indicating copy to clipboard operation
spring-cloud-dataflow copied to clipboard

local SCDF on minikube works very slow

Open Setxand opened this issue 1 year ago • 7 comments

Hey all, it's not actually the bug, but more the ask for the suggestion - I'm running SCDF with bitnami helm chart on minikube k8s kluster, everything work well but the java apps - batch tasks work very slow, I can't figure out what's wrong there, cause the same infra I use on aws eks cluster, and there everything is cool, can you share your local deployment best practices?

Setxand avatar Apr 11 '24 11:04 Setxand

@Setxand What do you mean by 'local deployment best practices'? For running minikube locally or for using the local platform?

Keep in mind that when it comes to batch jobs database performance is crucial. If you run minikube locally with a database in the same cluster you are probably going to experience the limits of your local system IO. Where is the database when you are running in EKS? Single node in same cluster or RDS database?

corneil avatar Apr 11 '24 12:04 corneil

Eks is RDS, DB I use the local one via hosts.docker.local, is it the cause of the slow execution?

Setxand avatar Apr 11 '24 13:04 Setxand

SCDF is connected to this local db as well, but the SCDF works fast, connects, doing migrations, and so on (It's Postgres btw), but then I run composed task locally, it creates the pod for the composed task, then the first one, and when the java app starts , it gets veeeery slowly

Setxand avatar Apr 11 '24 13:04 Setxand

@Setxand What type of driver is minikube using? Docker, kvm2, virtualbox, vmware, etc? How much cpu/memory have you assigned to Minikube?

corneil avatar Apr 12 '24 10:04 corneil

It's Docker, and the default one, can't say how much, actually I just run "minikube start" and that's it, but I tried to run the docker's k8s, and ejected 8gm in the docker configs, but the jobs were slow, but I guess it's the memory problem, yes, I need to increase the ram there, cause I've asked one guy to run it on the machine with 16 gb on docker-desktop's k8s, and it worked well, thanks

Setxand avatar Apr 12 '24 11:04 Setxand

@Setxand Try the scripts in src/deploy/k8s we use a default of 16g but 12g will work fine especially if you only want to test tasks. You can then delete the skipper after deployment and SPRING_CLOUD_DATAFLOW_FEATURES_STREAMS_ENABLED=false as env var in server-deployment.yml If the database is deployed in the same namespace you can just reference it by container-name.

corneil avatar Apr 15 '24 12:04 corneil

@corneil everything is disabled except scdf server and deployer, 'm using bitnami charts, but looks it's almost the same you've got on src/deploy/k8s spring-cloud-dataflow-values.yml.zip

Setxand avatar Apr 15 '24 13:04 Setxand