Skip to content
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

Adding some initial docs content and diagrams #129

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

robscott
Copy link
Member

Initial WIP attempt of some content for our docs.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Dec 21, 2024
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Dec 21, 2024
@kfswain
Copy link
Collaborator

kfswain commented Dec 21, 2024

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 21, 2024
Gateway API has [more than 25
implementations](https://gateway-api.sigs.k8s.io/implementations/). As this
pattern stabilizes, we expect a wide set of these implementations to support
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not clear what pattern this refers to, perhaps we should say the word pattern in the composable layer section intro so that the reader can connect the dots

## Composable Layers

This project aims to develop an ecosystem of implementations that are fully
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do we mean by "ecosystem of implementations"? This project aims to "define specifications to enable a compatible ecosystem for extending the Gateway API with custom endpoint selection algorithms"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 on ^ description from @ahg-g


As part of this project, we're building an initial reference extension that is
focused on routing to LoRA workloads. Over time, we hope to see a wide variety
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer not to give the impression that this is centered on LoRA, in reality LoRA is just one of multiple criteria for selection.

[vLLM](https://github.com/vllm-project/vllm) and
[Triton](https://github.com/triton-inference-server/server), and will be open to
other integrations as they are requested.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@liu-cong will create a page for the model server protocol. @liu-cong we can start with the narrowest set of requirements: kv-cache, active adapters and queue length; the metric type of each for both Prometheus and ORCA formats.

@ahg-g
Copy link
Contributor

ahg-g commented Dec 21, 2024

Part of #72

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 30, 2024
@k8s-ci-robot
Copy link
Contributor

New changes are detected. LGTM label has been removed.

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 30, 2024
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 31, 2024
Copy link
Contributor

@danehans danehans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few nits, otherwise /LGTM.

processor:
ignoreTypes:
- "(InferencePool|InferenceModel)List$"
# RE2 regular expressions describing type fields that should be excluded from the generated documentation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RE2?


render:
# Version of Kubernetes to use when generating links to Kubernetes API documentation.
kubernetesVersion: 1.31
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this value be an environment variable? I ask b/c it would be nice to have all version dependencies centrally located, e.g. Makefile.


* InferencePool is supported as a backend type
* Implementations forward requests to the configured extension for an
InferencePool using the protocol specified by this project
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using the protocol specified by this project

Can you clarify? Are you referencing to protocol as xRoute types supported by the implementation?


The overall resource model focuses on 2 new inference-focused
[personas](/concepts/roles-and-personas) and corresponding resources that
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that roles-and-personas.md is in a TODO state.

replace a Kubernetes Service with an InferencePool. This resource has some
similarities to Service (a way to select Pods and specify a port), but has some
unique capabilities. With InferenceModel, you can configure a routing extension
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but has some unique capabilities.

It would be helpful to talk about what the unique capabilities are or provide an example of a unique capability.

With InferenceModel, you can configure a routing extension as well as inference-specific routing optimizations.

Why is InferenceModel being highlighted here? Are you trying to describe how an InferencePool combined with an InferenceModel provides the unique capabilities described above?

Comment on lines +29 to +30
with that model. This resource enables you to configure the relative criticality
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/configuration associated with that model./ its associated configuration./

## Composable Layers

This project aims to develop an ecosystem of implementations that are fully
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 on ^ description from @ahg-g

metrics probing may happen asynchronously, depending on the extension.

4. The extension will instruct the Gateway which endpoint should be routed to.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/which endpoint should be routed to./which endpoint the request should be routed to./

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: danehans, robscott
Once this PR has been reviewed and has the lgtm label, please ask for approval from kfswain. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants