-
Notifications
You must be signed in to change notification settings - Fork 125
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
Raw Gateway API documentation #438
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for elastic-nobel-0aef7a ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
c084ff5
to
e5f3ba3
Compare
|
||
Kubernetes 1.28 is the minimally required version and please check the following recommended Istio versions for the corresponding | ||
Kubernetes version. | ||
|
||
!!! warning | ||
Kubernetes `Ingress` support is deprecated and will be removed in the future. `Gateway API` is the recommended option for KServe. |
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.
Need to come up with a timeline for removing Ingress support.
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.
Can't we keep it for backwards compatibility?
As Gateway API is the new and preferred option, ingress will not be deprecated anytime soon, so it would make sense to keep both around to give users flexibility, wdyt?
docs/admin/gatewayapi_migration.md
Outdated
# Kubernetes Ingress to Gateway API Migration Guide | ||
|
||
## 1. Install Gateway API CRD | ||
Install the Gateway API CRD as it is not part of the Kubernetes installation. KServe implements Gateway API version 1.2.1. |
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 Gateway API is not part of the Kubernetes cluster, therefore it needs to be installed manually, to do this, follow the next steps.
docs/admin/gatewayapi_migration.md
Outdated
``` | ||
|
||
## 2. Create GatewayClass | ||
Create a `GatewayClass` resource using your preferred network controller. For this example, you will use [Envoy Gateway](https://gateway.envoyproxy.io/docs/) as the network controller. |
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.
Also add the other options, maybe point to the docs and how to configure as well.
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.
There are multiple providers for Gateway API. I think it is not possible to cover all of them. Maybe we can add an example for Istio and add a link to list of network providers who suppot gateway api.
=== "Kubectl" | ||
|
||
```shell | ||
kubectl edit configmap inferenceservice-config -n kserve |
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.
isn't better to use the patch
command here?
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.
patch can't be used here as it is a string json. It will replace all the other ingress configurations.
port: 443 | ||
tls: | ||
mode: Terminate | ||
certificateRefs: |
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.
who handles these certificates?
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.
sorry. I didn't understand the question. Can you elaborate with more context ?
|
||
## 6. Restart the KServe controller | ||
The existing InferenceServices will not use the Gateway API configuration until the next reconciliation. | ||
You can restart the KServe controller to trigger the reconciliation and apply the Gateway API configuration to all the existing InferenceServices. |
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.
Is there a way to use mixed ingress configuration?
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.
No. It is not possible
``` | ||
|
||
## 7. Configure the external traffic | ||
If you are using a cloud provider, you may need to configure the external traffic to the LoadBalancer service created in [step 4](#4-create-gateway-resource). |
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.
is there a quick step guide about how to do it?
``` | ||
|
||
=== "Load Balancer" | ||
If the EXTERNAL-IP value is set, your environment has an external load balancer that you can use for the ingress gateway. |
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 external access can be configured, no?
Maybe point to the k8s docs: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
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.
I didn't understand the question. What do you mean by external access can be configured ?
|
||
Once Istio is installed, create `IngressClass` resource for istio. | ||
```yaml | ||
apiVersion: networking.k8s.io/v1 |
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.
can we also keep a example with istio? Probably Kourier as well?
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.
Do you mean for kubernetes Ingress or Gateway API ?
Signed-off-by: Sivanantham Chinnaiyan <[email protected]>
Signed-off-by: Sivanantham Chinnaiyan <[email protected]>
Signed-off-by: Sivanantham Chinnaiyan <[email protected]>
e5f3ba3
to
aa5a0ef
Compare
Proposed Changes