Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How To Contribute To Kubernetes

How To Contribute To Kubernetes

Madhav Jivrajani

December 03, 2021

More Decks by Madhav Jivrajani

Other Decks in Technology


  1. Outline • Community structure • Communications • Kubernetes Community Code

    of Conduct • Prerequisites • Labels and Bots • Mentorship Opportunities • Our Experiences
  2. Community Structure The K8s community is organized into subgroups as

    below: • Special Interest Groups, SIGs ◦ Subprojects • Working Groups, WGs • Committees • User Groups
  3. Stay Connected! • Mailing lists ◦ Community wide ◦ Per

    sub-group (SIG/WG/UG/committee) ▪ Contact information for a SIG: git.k8s.io/community/sig-name#contact • Slack (slack.k8s.io) ◦ WE LOVE EMOJIS :party_blob: ◦ Join the slack to find out what :party_blob: is ;) ◦ #sig-<sig-name> to join a SIG channel ▪ Similarly for WGs • Zoom meetings
  4. Contributor License Agreement (CLA) • There are a few prerequisites

    to contributing to Kubernetes, one of which is signing the CLA. https://github.com/kubernetes/community/blob/master/CLA.md • There are two kinds of CLA: 1. Individual 2. Corporate Note: Check in with your organization if you would need to sign the corporate CLA
  5. Developer Documentation! • You can find developer centric documentation maintained

    by different sub-groups in Kubernetes. • This is particularly helpful for folks wanting to contribute directly to the Kubernetes project rather than from an end-user perspective. https://github.com/kubernetes/community/tree/master/contributors/devel
  6. Kubernetes PR Flow 1. You submit Pull Request (PR) 2.

    You add labels & notes 3. Bots validate and comment on the PR release-note cncf-cla: no needs-ok-to-test needs-kind needs-sig 4. You add more labels & notes & resolve review comments 5. SIGs & OWNERS review and /approve → approved 6. Other contributors /lgtm → lgtm 7. Tests pass 8. Tide merges the PR https://prow.k8s.io/command-help
  7. Mentorships • Google Summer of Code • Outreachy • Linux

    Foundation Mentorship Program (NOT JUST FOR STUDENTS!) • Release Shadow Program https://github.com/kubernetes/community/tree/master/mentoring
  8. Kubernetes Enhancement Proposal • To add a new feature, update

    an existing feature or deprecate a feature, the Kubernetes community follows the Kubernetes Enhancement Proposal (KEP) process. • One of the main goals of this process is to help communicate and coordinate efforts for the addition/updation/deprecation of a feature across the community. • KEP is one of the best ways to get context on a feature being worked on. • We also have a KEP reading club! Reach out to us on #sig-architecture on the Kubernetes slack https://git.k8s.io/enhancements
  9. Some of Our Experiences • Don’t be afraid to ask

    questions! • Do your homework! • Ask questions in avenues with decreasing order of visibility • good-first-issue issues are not a prerequisite to start contributing ◦ Lack of context is one of the biggest barriers to contributing ◦ Find SIGs that interest you, stick around and see what’s happening ◦ Ask any and all questions you might have ◦ It’s TOTALLY okay if you aren’t able to contribute immediately, enjoy the process! • Non-response != Rejection
  10. Resources and References • Kubernetes Contributors Workshop ◦ A more

    in-depth guide to contributing to Kubernetes • Kubernetes getting started resources • kubernetes.dev • Enhancements Repo • Community Repo