Skip to content

[48h Knative] KServe plugin聽#1866

Description

@rhuss

We are still in the progress of setting up the hackathon, so we are still working on the concrete format. This issue is a prototype, feel free to comment on the format, too, below in the comments

馃憢 Hello awesome contributor!

This is a mini-project for the upcoming 48-hour Knative hackathon designed to boost contributions to the Knative Client project. For more details, check out Issue #1842.

馃幆 Why and What

Welcome to Knative, a platform for serverless computing on Kubernetes. The Knative CLI, known as kn, simplifies the management of Knative resources. KServe is an AI model inference layer on top of Kubernetes and Knative. The objective of this mini-project is to start a kn plugin to simplify the management of KServe's InferenceService.

This project aims to fill a gap in the Knative and KServe ecosystem that allows a typed user experience for working with KServe from the CLI. The immediate goal for this hackathon is to create the basic structure of the plugin and implement at least one operational command, such as kn kserve iservice create. Please take a look at the comments below for more details.

馃洜 Difficulty Level

Intermediate

馃懃 Recommended Team Size

1-3

馃帀 Expected Outcome

Success is defined as the ability to create a workingInferenceService on an existing KServe setup using the new kn plugin.

馃帗 Your Key Takeaways

In addition to gaining hands-on experience with kn and learning how to scaffold a new CLI plugin for it, you'll also acquire the skills to set up a Knative development environment on your own machine. This project will provide exposure to various areas relevant to Knative.

馃 Mentor

@rhuss

馃帴 5-Minute Video Pitch

TBD

馃摑 Additional Information

Some experience with Go programming is required, and a basic understanding of Knative and Kubernetes is beneficial.

馃寪 Entrypoints

  1. Clone the sample kn plugin from GitHub.
  2. Use the kn-box repository to set up Knative and Istio on Minikube or Kind.
  3. Familiarize yourself with the KServe documentation to understand the essentials of InferenceService.

馃搵 Organizer Checklist

  • Added to Project Board
  • Proposal Reviewed
  • Assigned a Mentor
  • Expected Outcome defined

Activity

  1. added
    knative48hIssue selected for the "48h Knative" hackathon
    on Sep 18, 2023
  2. rhuss commented on Sep 18, 2023

    @rhuss
    ContributorAuthor

    To initiate this task, fork the kn-plugin-sample. Your feedback on its usability and any issues you encounter will contribute to its improvement.

    The task involves implementing a new iservice command that will manage KServe's InferenceService custom resources. The specific aim for this hackathon is to enable the creation of an InferenceService through a new command, incorporating all necessary options as command-line arguments.

    Completion is achieved when the following command is operational:

    kn kserve iservice create my-iservice \
     --storage-uri=gs://kfserving-examples/models/sklearn/1.0/model \
     --format=sklearn

    For further guidance, the kn-plugin-service-log plugin can serve as a useful reference. It is recommended to separate the logic for creating the Golang struct for InferenceService to facilitate future updates.

    For any support or queries, the Slack #knative-48h channel is available.

  3. assigned and unassigned on Sep 19, 2023
  4. sharmaansh21 commented on Nov 30, 2023

    @sharmaansh21

    /assign

  5. removed their assignment
    on Dec 5, 2023
  6. spolti commented on Dec 6, 2023

    @spolti
  7. rhuss commented on Dec 7, 2023

    @rhuss
    ContributorAuthor

    ah, sorry. The link has been fixed. In the meantime we've created a dedicated repository https://github.com/knative-48h/kn-plugin-kserve for the Hackathon. Let me know if you would like to be added to the story it's still open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

knative48hIssue selected for the "48h Knative" hackathontriage/acceptedIssues which should be fixed (post-triage)

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions