Skip to content

Connect to an interactive Ray session from outside the cluster #53

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

Closed
MichaelClifford opened this issue Jan 25, 2023 · 6 comments
Closed
Assignees

Comments

@MichaelClifford
Copy link
Collaborator

As a user of the Codeflare stack, I want the ability to connect to an interactive Ray session through a ray.init() call from outside of the the cluster.

  • Ensure that the generated appwrapper that defines the ray cluster makes port 10001 of the service available outside og the cluster.
@tedhtchang
Copy link
Member

tedhtchang commented Feb 14, 2023

Tried the following for the this assumes users will use a local notebook not notebook container

  1. oc port-forward the svc/hfgputest-head-svc:10001 : worked for local notebook but not notebook container
  2. NodePort worked: but range of valid ports is 30000-32767 and dashboard route stopped working
  3. New route to ray-dashboard-hfgputest targeting 10001 port (Not working)

@tedhtchang
Copy link
Member

I have the added a manually generated appWrapper to enable the interactive Ray Session.
Let's decide the solution should be implement in the cluster.up(). In short, the solution is to route the ray client(gRPC/http2 based protocol) externally via TLS enabled Route(Openshift limitation). The solution is based on the finding [1][2].

[1] gRPC or HTTP/2 Ingress Connectivity in OpenShift
[2] Ray TLS authentication

@MichaelClifford
Copy link
Collaborator Author

Can we add a parameter, "TLS", to the ClusterConfig that will add the appropriate additions into the appwrapper yaml if set to True?

@tedhtchang
Copy link
Member

@MichaelClifford Sounds like a good idea although this solution doesn't encrypt the Ray Dashboard. Perhaps more explicit local_interactive = true Let's review the appwrapper and make sure it does not run into scalability issue due the additional secret and initContainers. Then decide the appropriate name of the parameter.

@tedhtchang
Copy link
Member

The decision was that we should create a new template to enabling the TLS feature since there is performance hit. We should let the users specify whether to enable with a parameter. i.e. TLS=True

@tedhtchang tedhtchang self-assigned this May 10, 2023
@anishasthana anishasthana moved this from In Progress to Ready For Review in Project CodeFlare Sprint Board Jun 22, 2023
@anishasthana anishasthana moved this from Ready For Review to In Review in Project CodeFlare Sprint Board Jun 22, 2023
@MichaelClifford
Copy link
Collaborator Author

Closed by #100

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

No branches or pull requests

2 participants