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
Tweet

More Decks by Madhav Jivrajani

Other Decks in Technology

Transcript

  1. How To Contribute
    To Kubernetes
    Arsh Sharma, Madhav Jivrajani - VMware

    View full-size slide

  2. Outline
    ● Community structure
    ● Communications
    ● Kubernetes Community Code of Conduct
    ● Prerequisites
    ● Labels and Bots
    ● Mentorship Opportunities
    ● Our Experiences

    View full-size slide

  3. Community Structure
    The K8s community is organized into subgroups as below:
    ● Special Interest Groups, SIGs
    ○ Subprojects
    ● Working Groups, WGs
    ● Committees
    ● User Groups

    View full-size slide

  4. https://github.com/kubernetes/community/blob/master/SIG-diagram.svg .

    View full-size slide

  5. More information on SIGs/WGs/committees can be found here:
    https://github.com/kubernetes/community/blob/master/governance.md

    View full-size slide

  6. 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- to join a SIG channel
    ■ Similarly for WGs
    ● Zoom meetings

    View full-size slide

  7. Stay Connected!
    Most importantly: remember to have fun!

    View full-size slide

  8. Kubernetes Code of Conduct
    https://kubernetes.io/community/code-of-conduct/

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. Kubernetes ❤ GitHub
    Say Hi to k8s-ci-robot!

    View full-size slide

  12. Some Useful Bot Commands

    View full-size slide

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

    View full-size slide

  14. GitHub Labels

    View full-size slide

  15. https://go.k8s.io/good-first-issue

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. Thank You!
    Arsh Madhav
    Twitter: @RinkiyaKeDad Twitter: @MadhavJivrajani
    K8s slack: @arsh K8s slack: @madhav

    View full-size slide