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

[Sandbox] Inspektor Gadget #7

Closed
2 tasks done
blixtra opened this issue Oct 27, 2022 · 5 comments
Closed
2 tasks done

[Sandbox] Inspektor Gadget #7

blixtra opened this issue Oct 27, 2022 · 5 comments
Labels
App Delivery Approved This is an approved sandbox project. gitvote

Comments

@blixtra
Copy link
Contributor

blixtra commented Oct 27, 2022

Application contact emails

[email protected], [email protected]

Project Summary

Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications

Project Description

Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications. It manages the packaging, deployment and execution of eBPF programs in a Kubernetes cluster, including many based on BCC tools, as well as some developed specifically for use in Inspektor Gadget. It automatically maps low-level kernel primitives to high-level Kubernetes resources, making it easier and quicker to find the relevant information.

Org repo URL

https://github.com/inspektor-gadget

Project repo URL

ttps://github.com/inspektor-gadget/inspektor-gadget

Additional repos

https://github.com/inspektor-gadget/website

Website URL

https://www.inspektor-gadget.io/

Roadmap

https://github.com/orgs/kinvolk/projects/22 (future: https://github.com/orgs/inspektor-gadget/projects/1)

Roadmap context

Current focus is on consistency, integrations, creating APIs and improving usability.

Contributing Guide

https://github.com/inspektor-gadget/inspektor-gadget/blob/main/docs/devel/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/kinvolk/contribution/blob/master/CODE_OF_CONDUCT.md - Can adopt the CNCF CoC if preferred.

Adopters

No response

Contributing or Sponsoring Org

Microsoft

Maintainers file

https://github.com/inspektor-gadget/inspektor-gadget/graphs/contributors (top 4 contributors, can put this in file)

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

We want to encourage further community adoption and contributions to Inspektor Gadget and feel that having the project in a neutral organization reinforces the open governance we wish to establish for the project. We also value this step as we feel it brings the project even closer to the cloud native community for which it is designed.

Benefit to the Landscape

Inspektor Gadget provides a set of tools for inspecting, debugging and troubleshooting Kubernetes clusters and applications. To our knowledge, it is a unique tool that is not directly comparable to any existing CNCF project. Inspektor Gadget enables the use of powerful eBPF tools in cloud-native environments; thus, empowering developers and users to understand their problems, helping them to solve them faster and makes great use of k8s related technology.

Cloud Native 'Fit'

Inspektor Gadget is a unique tool amongst the CNCF projects. Its focus is on inspecting, debugging and troubleshooting various aspects of Kubernetes clusters and cloud-native applications. It can be used interactively or integrated into one's observability or alerting systems via its interfaces.

Some of the included eBPF-based gadgets assist in improving security, others measuring resource use and performance, while others allow you to observe various events happening across your system. Inspektor Gadget essentially brings the power of eBPF and tools such as those from the BCC project to Kubernetes clusters and cloud native applications.

Cloud Native 'Integration'

Kubernetes, containerd, cri-o

Most of Inspektor Gadget’s functionality relies on it running in a Kubernetes cluster. One of its main tasks after all is to map low-level kernel concepts to high-level Kubernetes concepts.
There is a tool in Inspektor Gadget called local-gadget which does not require Kubernetes but does rely on a container runtime. This is used for testing IG locally and to troubleshoot a Kubernetes cluster when a component like the API server is not responsive.

Cloud Native Overlap

While Inspektor Gadget does have some overlapping functionality with a couple CNCF projects, the purpose of the Inspektor Gadget project is unique. Inspektor Gadget should be seen as a toolbox. A toolbox includes essential but varied tools. Tools such as screwdrivers, a hammer, pliers, wire cutters, multimeter, etc. are all essential but serve quite different purposes depending on what you are building or fixing. Similarly, Inspektor Gadget does not focus on investigating one aspect of your system but includes tools that are essential but leaves it to the user or architect to decide how to use them. That is, Inspektor Gadget is not a security or network tool, or an observability tool. But there are individual tools in the Inspektor Gadget toolbox that a user could use as such, or a system architect could use to build such tools.

One could say Pixie is the closest project to Inspektor Gadget as they both use eBPF programs in Kubernetes clusters. But the projects have different focuses and go about things differently. Inspektor Gadget is a collection of varied tools and focused on interactive debugging sessions and being a tool with which other tools can be built.

Similar projects

In many ways, Inspektor Gadget can be viewed as BCC, but for Kubernetes clusters. Inspektor Gadget started as a wrapper for BCC that provided the mapping between the kernel and Kubernetes concepts. Since, Inspektor Gadget has expanded its scope but the above is still very much true.

Product or Service to Project separation

While Inspektor Gadget is used inside Azure, it is consumed using the same interfaces available to everyone. Thus, there is no "mixing" of internal products and the open-source project.

Project presentations

No

Project champions

No response

Additional information

N/A

@dims
Copy link
Member

dims commented Jan 7, 2023

@blixtra Chris, thanks for the strong submission! (tangential and just fyi for now) cncf/foundation#474

@TheFoxAtWork TheFoxAtWork moved this from 📋 New to 🏗 Upcoming in Sandbox Application Board - NEXT JAN 14 2025 Feb 27, 2023
@amye
Copy link

amye commented Feb 28, 2023

/vote

@git-vote
Copy link

git-vote bot commented Feb 28, 2023

Vote created

@amye has called for a vote on [Sandbox] Inspektor Gadget (#7).

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 7d. 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.

@cathyhongzhang
Copy link

I support this project being included as a sandbox project. I would also like to see that it has contributors from more companies down the road.

@git-vote
Copy link

git-vote bot commented Mar 7, 2023

Vote closed

The vote passed! 🎉

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

Summary

In favor Against Abstain Not voted
9 0 0 3

Binding votes (9)

User Vote Timestamp
@kgamanji In favor 2023-02-28 17:49:46.0 +00:00:00
@cathyhongzhang In favor 2023-02-28 17:14:48.0 +00:00:00
@dims In favor 2023-02-28 17:34:00.0 +00:00:00
@mattfarina In favor 2023-02-28 18:23:36.0 +00:00:00
@nikhita In favor 2023-02-28 17:17:43.0 +00:00:00
@TheFoxAtWork In favor 2023-02-28 17:13:29.0 +00:00:00
@justincormack In favor 2023-02-28 18:01:47.0 +00:00:00
@dzolotusky In favor 2023-03-03 13:37:09.0 +00:00:00
@rochaporto In favor 2023-03-06 19:21:13.0 +00:00:00

Non-binding votes (14)

User Vote Timestamp
@wedaly In favor 2023-02-28 18:29:53.0 +00:00:00
@mauriciovasquezbernal In favor 2023-02-28 18:56:46.0 +00:00:00
@mqasimsarfraz In favor 2023-02-28 22:10:14.0 +00:00:00
@kranurag7 In favor 2023-03-01 3:28:07.0 +00:00:00
@kranurag78 In favor 2023-03-01 3:28:45.0 +00:00:00
@eiffel-fl In favor 2023-03-01 8:43:27.0 +00:00:00
@blanquicet In favor 2023-03-01 8:59:48.0 +00:00:00
@burak-ok In favor 2023-03-01 11:49:38.0 +00:00:00
@ahrkrak In favor 2023-03-01 13:38:49.0 +00:00:00
@vbatts In favor 2023-03-01 20:13:31.0 +00:00:00
@knrt10 In favor 2023-03-02 4:12:38.0 +00:00:00
@alban In favor 2023-03-06 11:31:28.0 +00:00:00
@blixtra In favor 2023-03-06 14:46:34.0 +00:00:00
@rata In favor 2023-03-07 14:12:53.0 +00:00:00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Delivery Approved This is an approved sandbox project. gitvote
Projects
None yet
Development

No branches or pull requests

5 participants