Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add core API and backend service design doc #98

Merged
merged 3 commits into from
Nov 25, 2021

Conversation

Jeffwan
Copy link
Collaborator

@Jeffwan Jeffwan commented Nov 8, 2021

Why are these changes needed?

Per Ali's request in #93, It's better to write a one page summary about the proposed change and get it approved before any implementation.

Related issue number

#53 #54

/cc @akanso @chenk008 @caitengwei @chaomengyuan

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(


// ImageTemplate can be used by worker group and workspce.
// They can be distinguish by different entrypoints
message ImageTemplate {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ray-operator should not be aware of the imageTemplate. it just need image to build the cluster. ImageTemplate corresponding services can be used to build images separately.

  1. User who does not have docker experience can build images using this service.
  2. User can query the image result built by the service
  3. User can use that image result to build ray cluster.

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Nov 17, 2021

/cc @akanso please have a check

@akanso
Copy link
Collaborator

akanso commented Nov 24, 2021

The functionality of exposing a simpler interface to the users other than the K8s interface is very valuable to none K8s users.
GRPC is a generic interface, many clients in GoLang, C#, Python etc. can use it.

It is not clear from the design Doc if the operator code itself is extended to support this feature?

I think an alternative design, is to run the GPRC server as an independent container (e.g. side-car container), that is capable of processing the GRPC requests and create RayCluster Custom Resources that the Ray Operator can read and process.

client --> GRPC Server --> [created Custom Resources] <-- Ray Operator (reads CR and accordingly performs CRUD )

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Nov 24, 2021

@akanso

It is not clear from the design Doc if the operator code itself is extended to support this feature?

I see. I think the gap is I talked too much api etc instead of operator interactions and deployment topology in the doc.

I think an alternative design, is to run the GPRC server as an independent container (e.g. side-car container), that is capable of processing the GRPC requests and create RayCluster Custom Resources that the Ray Operator can read and process.
client --> GRPC Server --> [created Custom Resources] <-- Ray Operator (reads CR and accordingly performs CRUD )

exactly. It would be a separate pod and the path is like what you described. Let me add a section for it

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Nov 25, 2021

@akanso I add a short summary to talk about deployment and interactions.

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Nov 25, 2021

Ali reviewed the docs and overall looks good to him as well. We can merge the PR.

@Jeffwan Jeffwan merged commit 73f64d4 into ray-project:master Nov 25, 2021
@Jeffwan Jeffwan deleted the backend_service_design_doc branch November 25, 2021 15:41
lowang-bh pushed a commit to lowang-bh/kuberay that referenced this pull request Sep 24, 2023
* Add core API and backend service design doc

* Address feedbacks

* Fix typos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants