-
Notifications
You must be signed in to change notification settings - Fork 432
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
Example Pod to connect Ray client to remote a Ray cluster with TLS enabled #994
Example Pod to connect Ray client to remote a Ray cluster with TLS enabled #994
Conversation
@kevin85421 Please review if this example what we want. |
Thank you for this contribution! I will review this PR after I finish the release process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this contribution! Could you also add an optional step in tls.md? In addition, maybe we can rename the file to ray-pod.tls.yaml
? RayCluster is a CRD in KubeRay, but this YAML file is not a RayCluster.
In addition, it will be great to add detailed reproduction instructions and screenshots (optional) to the PR description. Because we do not add tests for this document in CI, I need to verify this PR manually by myself. Thanks!
valueFrom: | ||
fieldRef: | ||
fieldPath: status.podIP | ||
- name: FQ_RAY_IP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can either:
(1) Update ray.init()
# ray.init(\"ray://raycluster-tls-head-svc.default.svc.cluster.local:10001\")
ray.init(\"ray://$FQ_RAY_IP:10001\")
(2) Remove FQ_RAY_IP
environment variable.
initContainers: | ||
- name: gen-cert | ||
image: rayproject/ray:2.3.0 | ||
args: ["/bin/sh", "-c", "cp -R /etc/ca/tls /etc/ray && /etc/gen/tls/gencert_head.sh"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use gencert_worker.sh
instead.
Thanks for the detailed feedback. I will add a step to the md. It will be something like: |
@kevin85421 Added a step to the doc. Please take a look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only comment is to remove the Jupyter section. Others look good to me. Thank you for your contribution!
docs/guidance/tls.md
Outdated
{'CPU': 2.0, 'node:10.254.20.20': 1.0, 'object_store_memory': 771128524.0, 'memory': 3000000000.0, 'node:10.254.16.25': 1.0} | ||
``` | ||
|
||
For instruction on connecting the Ray cluster from a Jupyter Notebook from your local machine, follow the instruction below: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind removing the following section? There are some limitations in Ray client. By the way, the Ray community wants to de-emphasize Ray client and promote Ray job submission instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed.
3a55e68
to
534503a
Compare
@kevin85421 Could you provide some context about the Ray client limitation and reasons for demote/promote Ray client/Ray job submission? |
On the other hand, ray job submission will copy your Python script to the head Pod and execute the script in the head Pod, so (1) (2) (3) are solved. However, ray job submission may not fulfill the requirement of "interactive development". |
@kevin85421 Thanks. I will share this with my team. |
…abled (ray-project#994) Example Pod to connect Ray client to remote a Ray cluster with TLS enabled
Why are these changes needed?
Provide an example of connect Ray client to a remote Ray cluster with TLS enabled on the ray client port.
Related issue number
Closes #992
Checks
Setup the environment
Verify the log contains IP of the head node.