[doc] Add GKE Gateway example for ingress#63546
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds documentation for GKE Gateway API support, including a new guide with prerequisites and step-by-step instructions for deploying Gateway and HTTPRoute resources. Feedback suggests improving the guide by using kubectl wait for status checks and clarifying the accessibility limitations of internal IP addresses, including a kubectl port-forward alternative.
| # NAME CLASS ADDRESS PROGRAMMED AGE | ||
| # ray-cluster-gateway gke-l7-rilb 10.0.1.15 True 54m | ||
|
|
||
| # Step 7: Check Ray Dashboard by visiting the allocated internal IP in your browser. (In this example, it is 10.0.1.15) |
There was a problem hiding this comment.
Since the example uses the gke-l7-rilb (Regional Internal Load Balancer) class, the allocated IP address is internal to your VPC. It will not be accessible directly from a browser on your local machine unless you have a VPN, a proxy, or are using a jump box within the same VPC. It would be helpful to clarify this limitation to avoid user confusion when the dashboard is not reachable.
| # Step 7: Check Ray Dashboard by visiting the allocated internal IP in your browser. (In this example, it is 10.0.1.15) | |
| # Step 7: Check Ray Dashboard. Since this is an internal Gateway, the IP is only accessible from within the VPC. To access it from your local machine, you can use a VPN, a proxy, or for temporary testing, use `kubectl port-forward`: | |
| # kubectl port-forward service/raycluster-kuberay-head-svc 8265:8265 |
| # Step 6: After a few minutes, GKE allocates an internal IP for the gateway. Check it using: | ||
| kubectl get gateway ray-cluster-gateway |
There was a problem hiding this comment.
Instead of waiting "a few minutes" manually, you can use kubectl wait to programmatically check when the Gateway has been assigned an IP and is ready.
| # Step 6: After a few minutes, GKE allocates an internal IP for the gateway. Check it using: | |
| kubectl get gateway ray-cluster-gateway | |
| # Step 6: Wait for GKE to allocate an internal IP and program the Gateway. | |
| kubectl wait --for=condition=Programmed gateway/ray-cluster-gateway --timeout=5m | |
| kubectl get gateway ray-cluster-gateway |
|
@andrewsykim PTAL |
|
+1 to the gemini comments re This guide is focused on exposing the Ray API -- if we want to leave a note for serving, this guide would be good to link to. There is an aside about the risk of exposing the gateway to the internet -- I think there is maybe an opportunity to call out that the gateway can be configured to do authentication and authorization. Maybe just a note linking to Secure a Gateway? What do you think? |
|
reply to @spencer-p |
| @@ -2,17 +2,18 @@ | |||
|
|
|||
| # Ingress | |||
|
|
|||
| Four examples show how to use ingress to access your Ray cluster: | |||
| Five examples show how to use Ingress or Gateway to access your Ray cluster: | |||
There was a problem hiding this comment.
nit:
The following examples show how to use Ingress or Gateway to access your Ray clusters:
Signed-off-by: Lalit Chauhan <lalitchauhan@google.com>
Description
This PR updates the KubeRay ingress documentation to include a comprehensive guide on using the GKE Gateway API to access a Ray cluster.
Specifically, this PR accomplishes the following:
ray-cluster-gke-gateway.yaml) for setting up aGateway(using thegke-l7-rilbinternal gateway class) and anHTTPRouteto route traffic to theraycluster-kuberay-head-svcon port 8265.Related issues
NONE
Additional information
NONE