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

[48h Knative] KServe plugin #1866

Open
2 of 4 tasks
rhuss opened this issue Sep 18, 2023 · 4 comments
Open
2 of 4 tasks

[48h Knative] KServe plugin #1866

rhuss opened this issue Sep 18, 2023 · 4 comments
Assignees
Labels
knative48h Issue selected for the "48h Knative" hackathon triage/accepted Issues which should be fixed (post-triage)

Comments

@rhuss
Copy link
Contributor

rhuss commented Sep 18, 2023

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
@rhuss rhuss added the knative48h Issue selected for the "48h Knative" hackathon label Sep 18, 2023
@rhuss
Copy link
Contributor Author

rhuss commented Sep 18, 2023

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.

@rhuss rhuss assigned rhuss and dsimansk and unassigned dsimansk Sep 19, 2023
@rhuss rhuss added the triage/accepted Issues which should be fixed (post-triage) label Sep 19, 2023
@sharmaansh21
Copy link
Contributor

/assign

@Nageshbansal Nageshbansal removed their assignment Dec 5, 2023
@spolti
Copy link

spolti commented Dec 6, 2023

@rhuss
Copy link
Contributor Author

rhuss commented Dec 7, 2023

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
Labels
knative48h Issue selected for the "48h Knative" hackathon triage/accepted Issues which should be fixed (post-triage)
Projects
Status: No status
Development

No branches or pull requests

5 participants