Comments (7)
cc @andrewsykim Would you mind commenting on this issue? Without your comment, I am unable to assign the issue to you. Thanks!
from kuberay.
+1 I think just automating the volume mounting is easier.
from kuberay.
Actually, one thing to consider here is that users may not want to use emptyDir for the ray logs. They may want to persist them with remote storage or local disk on nodes. We might make that harder to do if we automatically add these volumes and mounts
from kuberay.
Actually, one thing to consider here is that users may not want to use emptyDir for the ray logs. They may want to persist them with remote storage or local disk on nodes. We might make that harder to do if we automatically add these volumes and mounts
This makes sense. I am wondering if is it common for users to use volumes to persist logs. In my experience, most users utilize logging tools like FluentBit to stream logs to remote storage. Since my data points are quite limited, would you mind sharing your experiences with volume/volumeMount usage in Kubernetes (not limited to KubeRay)?
- Case 1: If it's common for users to set up volume/volumeMount themselves, we should avoid automatically injecting volume/volumeMount for them. Instead, we just need to write the docs to suggest users to add volume for
/tmp/ray
. - Case 2: If it's rare, we can inject volume/volumeMount for users with a feature gate to enable users to disable the injection.
from kuberay.
From my experience, I find the sidecar route with fluentbit to be the most common, but I don't think case 2) is rare.
Another option we can take is to always apply the default volume mounts unless we see an existing mount from the user with a prefix /tmp/ray
. Do you know if ray logs are always stored in /tmp/ray
? If so this might be a reliable way to know if we should automatically add log volumes
from kuberay.
I checked with the Ray team.
- Ray logs are not always stored in
/tmp/ray
. It is configurable by setting_temp_dir
. See this doc for more details. - Most users use the default path
/tmp/ray
. - My colleague said that 3 independent users have tried to configure the path. All of them configured it because they were running Ray alongside an external system that ingests logs written to a specific directory.
from kuberay.
agree with @andrewsykim - case 2 is not rare and I have been using volume mounts to store logs for smaller PoC deployments. However, since this is configurable as standard Kubernetes volume mounts, people can use them while creating RayService or RayCluster deployment configuration YAML.
Are we looking here to add one such relevant example @kevin85421 ?
from kuberay.
Related Issues (20)
- [Bug] KubeRay Deployment Failure with Large ServeZip File in Working_Dir HOT 2
- Kuberay operator failed to watch endpoint HOT 3
- [Bug] Ray operator crashes when specifying RayCluster with `resources.limits` but no `resources.requests` HOT 2
- [Feature] Publish `python-client` to PyPI HOT 2
- [Feature] Ray cluster launcher support for GKE
- [Bug] All worker Pods are deleted if using KubeRay v1.0.0 CRD with KubeRay operator v1.1.0 image
- [Bug] What's the relationship between watching `Endpoints` and RayService e2e tests?
- [Bug] Priority Class Name from worker group spec not forwarded to final templated yaml files
- [Bug] Misleading error message in RayService when upgrading to KubeRay v1.1.0 HOT 1
- [Bug] Ray Head access to extra GPU resources HOT 1
- [Feature] Allow different LocalQueue label for head and worker groups HOT 6
- [Bug] No worker pods created after updating to Kuberay 1.1.0 HOT 1
- [Bug] [API Server] Can't specify cluster rayVersion in Ray Job
- [Feature] Upgrade ray version to 2.20 HOT 1
- [Feature] [API Server] [RFC] Add persistence for job history using a SQL database
- [Bug] [raycluster-controller] Kuberay cannot recreate new raycluster header pod when it has been evicted by kubelet as disk pressure HOT 1
- [Feature] RayCluster Helm Chart: Add pod level securityContext in addition to container level securityContext HOT 3
- [Feature] RayService CRD to have ImagePullSecret Reference
- [Feature] Why RayJob Spec can't set EndpointMemory? HOT 2
- [Bug] RayJob does not work when `app.kubernetes.io/name` is set HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kuberay.