You're looking at the K8's repo (short for Kubernetes) and nothing makes sense to you. There are all these different folders and files. You visit the Issues page and see all the different labels and you have no idea what it all means.

Let me tell you that it's alright to feel overwhelmed because to understand all this, you need to take a step back and look at it in a step-by-step approach as that's how you're supposed to. K8s is a large project and to manage it there needs to be a proper structure.

The structure wouldn't make sense if you're looking at it as a whole and hence you'll have to understand it component-wise. This btw is a beginner's guide but be sure to stick around even if you're an expert. You might learn something new 😊.

Note: This blog is largely inspired by Nikhita Raghunath's video on K8's contributions

Community Groups

The entire K8s governance structure is divided into 4 parts:

  1. SIGs: SIGs are tasked with advancing K8s wrt a specific topic such as CLI, Networking etc. The entire codebase is divided into these SIGs and each SIG has a governing body. Eg: kubectl falls under the sig cli. SIGs are further divided into more types:

So, if you're thinking of working on Kubernetes, you'll be looking to work under a SIG. Pick your poison.

  1. Working Groups: A Working Group is set up to discuss certain topics that reference different SIGs
  2. User Groups: Set up to discuss topics that might not have clear deliverables but have relevance to a large group of users. UGs can collaborate with SIGs to address usability issues or improve docs.
  3. Committees: Set up around topics that require discretion. Compared to SIGs, these do not work in the open and are formed involving community members.

This here is the SIG diagram available on the kubernetes/community repository. You're highly advised to visit this repository to know a lot more about contributing to K8s and to browse through the available SIGs.

SIGs

Picking a SIG