cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
129 stars 19 forks source link

[Sandbox] K8sGPT #38

Closed AlexsJones closed 8 months ago

AlexsJones commented 1 year ago

Application contact emails

alexsimonjones@gmail.com, thomas.schuetz@t-sc.eu

Project Summary

Kubernetes cluster analysis augmented with Artificial Intelligence

Project Description

The popularity of Kubernetes has skyrocketed, but it has also led to a significant amount of complex knowledge regarding the management of cluster workloads. As new innovations emerge, it becomes increasingly challenging to manage workloads and identify potential issues.

K8sGPT employs codified SRE techniques, utilizing Artificial Intelligence (either hosted or bring-your-own) to simplify the description of complex problems and provide easy-to-implement solutions. This tool is accessible through CLI or as an Operator and can be integrated with observability projects to facilitate continuous monitoring and straightforward triage.

The goal of K8sGPT is to act as a virtual engineer, reducing the number of personnel required on your team and eliminating two of the most significant obstacles to cloud-native adoption: cost and skill.

Org repo URL

https://github.com/k8sgpt-ai/community

Project repo URL

https://github.com/k8sgpt-ai/k8sgpt

Additional repos

https://docs.k8sgpt.ai/ https://github.com/k8sgpt-ai/k8sgpt-operator

Website URL

https://k8sgpt.ai

Roadmap

https://github.com/orgs/k8sgpt-ai/projects/1

Roadmap context

The K8sGPT initiative aims to simplify Kubernetes for end-users and streamline workload management. To achieve this goal, the project intends to enhance Observability integrations, resource analysis, and AI backends. The roadmap includes developing an interoperable system that reflects cloud-native principles and enables individuals and organizations, from small to large, to incorporate K8sGPT into their toolkits.

We are also mindful that business value is a key indicator of success and as such will ensure we liaise with end-user organisations to understand their use cases and any bars to adoption ( Local AI and anonymisation being features we already anticipated being in high levels of demand ).

Contributing Guide

https://github.com/k8sgpt-ai/k8sgpt/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/k8sgpt-ai/k8sgpt/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/k8sgpt-ai/community/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

No response

Maintainers file

https://github.com/k8sgpt-ai/community/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

Our team firmly believes that K8sGPT is a valuable addition to the CNCF's impressive range of projects. With artificial intelligence advancing rapidly, embracing this technology would demonstrate the CNCF's commitment to innovation and thought leadership in the field of cloud-native computing.

As a lighthouse project, K8sGPT showcases the potential for AI to be both cloud-native and community-driven and highlights the benefits of composability within the CNCF ecosystem. This project also promotes democratic access to AI and encourages the use of local models for exploring this exciting new technology.

We are confident that joining the CNCF community will help us expand our contributor base, enhance our project maturity, and attract more adopters. In return, we hope to offer valuable contributions to the community, including new end-users, cross-project solutions, and a smoother path to cloud-native computing.

Benefit to the Landscape

Already embracing Prometheus and SIG-Kubebuilder, K8sGPT looks to strengthen the bonds across projects and provide deep value whilst guiding our aspirations towards simplicity and ultimately our end-users.

There are many tools out there, which analyze Kubernetes Environments. We aim to add our SRE Knowledge as far as possible to simplify troubleshooting. Furthermore, K8sGPT is extensible so that other CRD-based configurations can troubleshoot as soon as a certain analyzer is available.

As one of the first AI-based troubleshooting tools in the Landscape, we believe in the power of this technology and also plan to pre-train our own models to make troubleshooting easier. Given the structure of the project, we support contributors putting their own ideas into practice and getting a home for their project.

By supporting a variety of AI model backends, including local models, we also want to send a strong message that AI is not only the preview of proprietary backends, encouraging a new wave of end-users to start experimenting.

Cloud Native 'Fit'

Born from the intersection of Artificial Intelligence and Kubernetes, K8sGPT is a project that looks to make Kubernetes (the world's most successful cloud-native project) accessible to even more communities. Students, scientists, researchers and engineers, all looking to uplift to cloud-native, now have a project that is guided by the principle of increasing accessibility.

With such a focus on easing the adoption of cloud-native principles we are providing access for those involved in trying to accelerate solutions for crime, poverty, climate change and other deep-seated societal issues that cloud-native can impact, this is our small way of being part of that change.

Cloud Native 'Integration'

K8sGPT primarily focuses on troubleshooting Kubernetes Environments. Furthermore, it is capable of integrating results from other tools into its analysis. The first tool, where this kind of integration has been implemented was Trivy.

Furthermore, the tool can be integrated into other workflows, e.g. to inspect the health of an application after it has been deployed. As it is a CLI and containers are available, it’s possible to integrate it into almost every CI tool. The first integration into a deployment workflow has been implemented with Keptn.

Cloud Native Overlap

N/A

Similar projects

N/A

Product or Service to Project separation

N/A

Project presentations

Project champions

Bartłomiej Płotka (TAG Observability, Tech Lead) Anton Smith ( Spectro Cloud, Head of Product )

Additional information

We are contributors who are very familiar with the CNCF and are proud to call many people within the community our colleagues and friends. As such, would not submit a project unless we saw a real nugget of potential and interest for the wider community. As something precious to us, we want to share with you and grow it for everyone.

( There is no company behind k8sgpt just a GitHub organisation for our community. We feel that whilst many would look to monetize this project, we want it to be for everyone. )

pfarikrispy commented 1 year ago

❤️👍

rochaporto commented 1 year ago

Hi @AlexsJones .

Following the 2023-06-13 TOC Meeting the project is seen as very interesting but we think it is still very early and recommend reapplying in 6 months.

Thanks!

AlexsJones commented 1 year ago

Point taken @rochaporto thanks!

Can you link me to where duration of the project is a requirement in the application for future reference?

I was part of the group successfully submitting open feature, without a line of code yet written.

TheFoxAtWork commented 12 months ago

@AlexsJones Apologies for the delayed response.

Currently, the TOC does not define explicit criteria for sandbox applications beyond it "being cloud native" (at least not in the same way we do for Incubating and Graduating projects). However, we've come to find over the application cycles that projects find a higher rate of success and engagement within Sandbox when they achieve a level of progress and growth at the time of application to sandbox. What that looks like varies with each project and is also impacted heavily by the demand or need from adopters and the broader ecosystem.

As you pointed out, some projects have been accepted without extensive codebases whereas others we really want to see more robustness in what it does and how it does it. It largely depends on the project and today we don't have an easy way to codify what that is for each and every project that applies. What the TOC has leaned towards to address this is restructuring the application for sandbox (as you see with the form that K8sGPT applied) and using windows of time to determine progress.

For instance, we saw project X apply on this date, but things were too nascent to make an informed decision, so in 6 months, perhaps the ecosystem/landscape will have shifted to be more informative, or the project may have smashed barriers and really grown in that time. In some cases, we've accepted projects that have dissolved mid-way through onboarding and we don't have strong indicators as to which projects this will happen to, therefore we try to leverage time a good indicator to see interest and gauge sustainability/viability of the project.

AlexsJones commented 12 months ago

@AlexsJones Apologies for the delayed response.

Currently, the TOC does not define explicit criteria for sandbox applications beyond it "being cloud native" (at least not in the same way we do for Incubating and Graduating projects). However, we've come to find over the application cycles that projects find a higher rate of success and engagement within Sandbox when they achieve a level of progress and growth at the time of application to sandbox. What that looks like varies with each project and is also impacted heavily by the demand or need from adopters and the broader ecosystem.

As you pointed out, some projects have been accepted without extensive codebases whereas others we really want to see more robustness in what it does and how it does it. It largely depends on the project and today we don't have an easy way to codify what that is for each and every project that applies. What the TOC has leaned towards to address this is restructuring the application for sandbox (as you see with the form that K8sGPT applied) and using windows of time to determine progress.

For instance, we saw project X apply on this date, but things were too nascent to make an informed decision, so in 6 months, perhaps the ecosystem/landscape will have shifted to be more informative, or the project may have smashed barriers and really grown in that time. In some cases, we've accepted projects that have dissolved mid-way through onboarding and we don't have strong indicators as to which projects this will happen to, therefore we try to leverage time a good indicator to see interest and gauge sustainability/viability of the project.

Thank you for the reply.

I'd like some concrete actionable feedback: A) what we need to do to be accepted to sandbox OR B) Why this project is not been accepted.

It looks like this project sandbox status intentionally being kept in limbo. I see it is labelled postponed - why? how long until? what are the key indicators of success? What are the data points you're using to make that decision?

I am doing my very best to assume positive intent here, give me something to work with. A piece of feedback, invite me to a meeting, chat to us on slack. Is it the name? Is it you don't have an SME to clarify questions?

I watched the TOC meeting around this application and it seemed dismissive to say the very least.

raravena80 commented 11 months ago

@AlexsJones to facilitate more feedback/discussion/etc, can the project present at one of the TAG-Runtime meetings. Does Oct 12th work? Thanks!

AlexsJones commented 11 months ago

@AlexsJones to facilitate more feedback/discussion/etc, can the project present at one of the TAG-Runtime meetings. Does Oct 12th work? Thanks!

Sounds good, we will be happy to participate, thank you for the suggestion.

AlexsJones commented 10 months ago

TOC, given the conversations this week at Kubecon, I'd invite you to suggest next steps here. I have demo'd and discussed this project during Kubecon, and will formally present in the TAG calls in the next week or two.

I hope this project is an exemplar of some of the challenges we are having and how why functions like #wg-artificial-intelligence will help us guide and bring in new AI based projects.

TheFoxAtWork commented 10 months ago

@AlexsJones I'm on mobile so I can't do it right now, @amye would you add the returning label and add them to the queue for our next review, looking over the dates and to Alex's update, they appear ready for rereview.

AlexsJones commented 9 months ago
halcyondude commented 9 months ago

@AlexsJones presented at the 2023-11-21 TAG Observability meeting and the talk was well received.

After the talk, Alex covered the proposed AI Working Group (https://github.com/cncf/toc/issues/1200), which the project's community might gravitate toward and contribute to (CNCF Slack: #wg-artificial-intelligence).

I support K8sGPT entering the Sandbox (+1 NB)

AlexsJones commented 9 months ago

@raravena80 could you please also speak to the presentation to TAG Runtime?

amye commented 9 months ago

/vote-sandbox

git-vote[bot] commented 9 months ago

Vote created

@amye has called for a vote on [Sandbox] K8sGPT (#38).

The members of the following teams have binding votes: Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 7days. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

raravena80 commented 9 months ago

@raravena80 could you please also speak to the presentation to TAG Runtime?

@AlexsJones -- FYI, the TOC discussed the project today in the sandbox review meeting and has called for a vote. Thx.

amye commented 8 months ago

/check-vote

git-vote[bot] commented 8 months ago

Vote status

So far 27.27% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
3 0 0 8

Binding votes (3)

User Vote Timestamp
justincormack In favor 2023-12-13 15:54:45.0 +00:00:00
TheFoxAtWork In favor 2023-12-12 18:32:04.0 +00:00:00
cathyhongzhang In favor 2023-12-13 18:01:34.0 +00:00:00
@rochaporto Pending
@mattfarina Pending
@RichiH Pending
@mauilion Pending
@dzolotusky Pending
@nikhita Pending
@kgamanji Pending
@erinaboyd Pending

Non-binding votes (8)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | raravena80 | In favor | 2023-12-12 18:01:26.0 +00:00:00 | | HatiCode | In favor | 2023-12-12 18:11:39.0 +00:00:00 | | matthisholleville | In favor | 2023-12-12 21:46:36.0 +00:00:00 | | arbreezy | In favor | 2023-12-12 21:47:13.0 +00:00:00 | | akhil-rane | In favor | 2023-12-13 0:00:55.0 +00:00:00 | | anarcher | In favor | 2023-12-13 2:26:39.0 +00:00:00 | | JuHyung-Son | In favor | 2023-12-13 3:44:05.0 +00:00:00 | | bradmccoydev | In favor | 2023-12-13 4:16:40.0 +00:00:00 |
TheFoxAtWork commented 8 months ago

/check-vote

git-vote[bot] commented 8 months ago

Vote status

So far 72.73% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
cathyhongzhang In favor 2023-12-13 18:01:34.0 +00:00:00
TheFoxAtWork In favor 2023-12-12 18:32:04.0 +00:00:00
justincormack In favor 2023-12-13 15:54:45.0 +00:00:00
dzolotusky In favor 2023-12-15 14:56:53.0 +00:00:00
mauilion In favor 2023-12-16 3:20:04.0 +00:00:00
rochaporto In favor 2023-12-17 22:15:41.0 +00:00:00
mattfarina In favor 2023-12-18 13:44:41.0 +00:00:00
kgamanji In favor 2023-12-17 13:13:27.0 +00:00:00
@RichiH Pending
@nikhita Pending
@erinaboyd Pending

Non-binding votes (14)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | raravena80 | In favor | 2023-12-12 18:01:26.0 +00:00:00 | | HatiCode | In favor | 2023-12-12 18:11:39.0 +00:00:00 | | matthisholleville | In favor | 2023-12-12 21:46:36.0 +00:00:00 | | akhil-rane | In favor | 2023-12-13 0:00:55.0 +00:00:00 | | anarcher | In favor | 2023-12-13 2:26:39.0 +00:00:00 | | JuHyung-Son | In favor | 2023-12-13 3:44:05.0 +00:00:00 | | bradmccoydev | In favor | 2023-12-13 4:16:40.0 +00:00:00 | | rajaskakodkar | In favor | 2023-12-13 18:36:42.0 +00:00:00 | | larssb | In favor | 2023-12-13 20:42:31.0 +00:00:00 | | AlexsJones | In favor | 2023-12-13 20:44:03.0 +00:00:00 | | jkleinlercher | In favor | 2023-12-13 23:39:35.0 +00:00:00 | | arbreezy | In favor | 2023-12-14 16:50:40.0 +00:00:00 | | omnimeta | In favor | 2023-12-14 18:00:24.0 +00:00:00 | | rakshitgondwal | In favor | 2023-12-16 10:40:16.0 +00:00:00 |
git-vote[bot] commented 8 months ago

Vote closed

The vote passed! 🎉

72.73% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
@kgamanji In favor 2023-12-17 13:13:27.0 +00:00:00
@rochaporto In favor 2023-12-17 22:15:41.0 +00:00:00
@mattfarina In favor 2023-12-18 13:44:41.0 +00:00:00
@justincormack In favor 2023-12-13 15:54:45.0 +00:00:00
@TheFoxAtWork In favor 2023-12-12 18:32:04.0 +00:00:00
@cathyhongzhang In favor 2023-12-13 18:01:34.0 +00:00:00
@dzolotusky In favor 2023-12-15 14:56:53.0 +00:00:00
@mauilion In favor 2023-12-16 3:20:04.0 +00:00:00

Non-binding votes (14)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | @raravena80 | In favor | 2023-12-12 18:01:26.0 +00:00:00 | | @HatiCode | In favor | 2023-12-12 18:11:39.0 +00:00:00 | | @matthisholleville | In favor | 2023-12-12 21:46:36.0 +00:00:00 | | @akhil-rane | In favor | 2023-12-13 0:00:55.0 +00:00:00 | | @anarcher | In favor | 2023-12-13 2:26:39.0 +00:00:00 | | @JuHyung-Son | In favor | 2023-12-13 3:44:05.0 +00:00:00 | | @bradmccoydev | In favor | 2023-12-13 4:16:40.0 +00:00:00 | | @rajaskakodkar | In favor | 2023-12-13 18:36:42.0 +00:00:00 | | @larssb | In favor | 2023-12-13 20:42:31.0 +00:00:00 | | @AlexsJones | In favor | 2023-12-13 20:44:03.0 +00:00:00 | | @jkleinlercher | In favor | 2023-12-13 23:39:35.0 +00:00:00 | | @arbreezy | In favor | 2023-12-14 16:50:40.0 +00:00:00 | | @omnimeta | In favor | 2023-12-14 18:00:24.0 +00:00:00 | | @rakshitgondwal | In favor | 2023-12-16 10:40:16.0 +00:00:00 |
Cmierly commented 8 months ago

Hi @AlexsJones ! Welcome aboard! We're very excited to get you onboarded as a CNCF sandbox project! Here's the link to your onboarding checklist: https://github.com/cncf/toc/issues/1224

Here you can communicate any questions or concerns you might have. Please don't hesitate to reach out, I am always happy to help!