kuberay icon indicating copy to clipboard operation
kuberay copied to clipboard

[Bug][Docs] Ingress EKS bug and documentation

Open DmitriGekhtman opened this issue 2 years ago • 6 comments

Search before asking

  • [X] I searched the issues and found no similar issues.

KubeRay Component

ray-operator

What happened + What you expected to happen

The KubeRay operator's ingress support seems not to work on EKS: https://github.com/ray-project/kuberay/blob/76f96bf5a05651611f9a8734c34c2a7f23f54b54/ray-operator/controllers/ray/common/ingress.go#L80

This issue tracks the linked TODO.

In general, ingress setup is sensitive to cloud provider context, so it's important to explain that it is fine not to enable automatic configuration of an ingress.

There are three tasks here: (P0) Clarify in the docs that it's not required to have KubeRay configure an ingress for you -- you can do it yourself if necessary. (Just set the service type as required.) (P1) Explain in greater detail what kind of Ingress the operator can set up and under what conditions it's suitable to use the ingress. (P2) Fix the EKS bug.

Reproduction script

Try to use enableIngress: true on EKS. (I haven't verified the bug myself.)

Anything else

No response

Are you willing to submit a PR?

  • [X] Yes I am willing to submit a PR!

DmitriGekhtman avatar Aug 07 '22 17:08 DmitriGekhtman

cc @simon-mo @brucez-anyscale

DmitriGekhtman avatar Aug 07 '22 17:08 DmitriGekhtman

The description looks good to me. Let me know the following and task assignment.

brucez-anyscale avatar Aug 15 '22 04:08 brucez-anyscale

@brucez-anyscale I tagged you mostly because you identified the particular issue with EKS re: task assignment, feel free to claim it if you have time!

DmitriGekhtman avatar Aug 15 '22 22:08 DmitriGekhtman

I can take it. Let me find some time to prepare a pr. Maybe later this week or next week.

brucez-anyscale avatar Aug 16 '22 16:08 brucez-anyscale

Any progress? Meet same problem on k8s v1.23.6 Following doc https://ray-project.github.io/kuberay/guidance/ingress/ but can not create ingress. Error message : "can not be set when the class field is also set" k8s ValidateIngressCreate source code: https://github.com/kubernetes/kubernetes/blob/v1.23.6/pkg/apis/networking/validation/validation.go#L235

rokiyer avatar Oct 14 '22 06:10 rokiyer

@DmitriGekhtman Could you help to follow up? Maybe @kevin85421 could help?

brucez-anyscale avatar Oct 14 '22 16:10 brucez-anyscale

I will take a look.

kevin85421 avatar Oct 18 '22 00:10 kevin85421

We've added some documentation on ingress setup to the KubeRay repo in https://github.com/ray-project/kuberay/pull/699 and https://github.com/ray-project/kuberay/pull/658. We should also make sure to explain ingress setup clearly in the Ray docs.

Basically, anywhere we currently mention port-forwarding in the KubeRay docs or in the Ray docs, we should explain that port-forwarding is a hack for simplicity of the example. We should link somewhere where ingress setup is explained. cc @kevin85421 @sihanwang41 @waleedkadous

DmitriGekhtman avatar Nov 24 '22 17:11 DmitriGekhtman

@DmitriGekhtman Can we close this issue? We did not recommend any user use built-in ingress support.

kevin85421 avatar Dec 09 '22 18:12 kevin85421

The last to-do is to remove documentation concerning built-in ingress support.

DmitriGekhtman avatar Dec 09 '22 19:12 DmitriGekhtman

Also, you need to either explain how to do in the Ray documentation or link to KubeRay documentation.

DmitriGekhtman avatar Dec 09 '22 19:12 DmitriGekhtman

Anywhere in the Ray docs where we tell the user to port-forward the dashboard port, it needs to say that port-forwarding is not appropriate for production and should link to ingress setup docs.

Also, we need to make it very explicit that users should not use an ingress to expose Ray client -- a better workflow for Ray client is to set up a Jupyter notebook in the same K8s cluster, connect with Ray client from the Jupyter environment, and expose the Jupyter server with an ingress.

DmitriGekhtman avatar Dec 09 '22 19:12 DmitriGekhtman

Broader item for improvement of the Ray docs: https://github.com/ray-project/kuberay/issues/828

DmitriGekhtman avatar Dec 09 '22 20:12 DmitriGekhtman

The last to-do is to remove documentation concerning built-in ingress support.

Done (https://github.com/ray-project/kuberay/pull/999)

Close this one, and track the progress in #828.

kevin85421 avatar Apr 05 '23 23:04 kevin85421