$30 off During Our Annual Pro Sale. View Details »

KCD BLR Kubernetes Contributor Workshop

KCD BLR Kubernetes Contributor Workshop

Nabarun Pal

June 24, 2021
Tweet

More Decks by Nabarun Pal

Other Decks in Technology

Transcript

  1. What you should know • The K8s community is organized

    into subgroups as below: • Special Interest Groups, SIGs ◦ Subprojects • Working Groups, WGs • Committees • User Groups
  2. Special Interest Group SIG sounds like of like a meetup

    group, and it both isn't and also is. Each SIG is its own sub-community in Kubernetes, because it's a huge project and we can't all be in one giant pool of 2000 contributors.
  3. Feature Area SIGs sig-auth sig-apps sig-autoscaling sig-cli sig-multicluster sig-network sig-node

    sig-scalability sig-scheduling sig-service-catalog sig-storage sig-ui
  4. Cloud Provider Individual cloud providers are subprojects of this SIG.

    kubernetes-cloud-provider provider-alibaba-cloud provider-aws provider-azure
  5. Working Groups and Subprojects Working Groups: inter-SIG efforts Subprojects: focus

    areas for SIGs For specific: • Tools (ex. Kubectl) • Goals (ex. Code Cleanup, Contributor Site) • Areas (ex. Machine Learning)
  6. User Groups No codebase ownership Topics of interest shared across

    large groups of users ug-big-data ug-vmware-users
  7. Committees project governance oriented join by invite or election only

    there are currently three committees: Steering Security Response Code of Conduct https://github.com/kubernetes/community/blob/master/README.md#governance
  8. Picking the right SIG 1. Figure out what specific projects/areas

    you want to work on. 2. Find out which SIG/WG/subproject covers that a. Ask on #sig-contribex b. Go to the SIG intros at this conference 3. Join that SIG/subproject a. If joining a WG/subproject, also join a SIG
  9. How Do I Join A SIG? 1. Join the sig-specific

    mailing list. This is open to anyone. 2. That’s it. You’ve joined a SIG.
  10. Keeping in touch • How do we do it? ◦

    Mailing List ◦ Slack ◦ Zoom meetings • Some async initiatives: ◦ Alternating between Slack threads & Zoom meetings in #sig-contribex ◦ APAC friendly timings introduced for Release team meetings ◦ More talk on Slack and Mailing Lists, less reliance on Meetings
  11. India specific Slack channels Step 1 Join the Slack ->

    slack.k8s.io Step 2 Find #in-dev, #in-users, #in-events Step 3 Say Hi! 👋, introduce yourself and send emojis!!!
  12. When should you file a KEP? • Significant changes to

    Kubernetes features • Changes involving multiple stakeholders • Notable policy changes in the codebase • Changes impacting the UX of Kubernetes
  13. When should you file a KEP? • Significant changes to

    Kubernetes features • Changes involving multiple stakeholders • Notable policy changes in the codebase • Changes impacting the UX of Kubernetes • Test fixes • Code Refactors • Increasing log verbosity • Adding more events • Performance improvements not changing UX
  14. Core Repository Most SIGs are stakeholders in the monolith. Areas

    of SIG ownership can be found in https://git.k8s.io/community/sigs.yaml kubernetes/kubernetes
  15. Mentorship Programs • Meet Our Contributors - #meet-our-contributors • Group

    Mentoring • Google Summer of Code • Outreachy • Linux Foundation LFX Mentorship Program
  16. Kubernetes Release Team • Periodically releases a new version of

    Kubernetes • Collects features in a time frame and tracks whether the features go past the line • Ensures quality of the artefacts generated as part of the release Image Source: https://git.k8s.io/sig-release/release-team/release-team.svg
  17. What is the Release Shadow program? • Follows the apprenticeship

    model • Learn by doing and tagging along the lead • Helps contributors broaden their area of knowledge https://git.k8s.io/sig-release/release-team/shadows.md
  18. What do I need to do? 1. Read the role

    handbooks to understand the responsibilities of each role 2. Ask on #sig-release if in doubt 3. Fill up the form 4. Wait for the selection announcements
  19. Contributor License Agreement • Contributions to the Kubernetes project require

    you to sign a CLA • Required to determine the legal status of contributions • 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 https://git.k8s.io/community/CLA.md
  20. Required Labels for Issues On creation: sig/ kind/ Added later:

    priority/ https://go.k8s.io/bot-commands
  21. The SIG Label Label sig/auth sig/testing sig/api-machinery sig/node Bot command

    /sig auth /sig testing /sig api-machinery /sig node
  22. Labels can help you find your first issue! help wanted

    • Low Barrier to Entry • Clear Task good first issue • Vetted for new contributors • Provides ongoing support and guidance
  23. Command /assign @username /retest /close /cc @username Result Assigns a

    Reviewer Reruns failed tests Closes PR Tags a user Other bot commands
  24. PRs and Bots: 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
  25. Command /assign @username /retest /close /cc @username Result Assigns a

    Reviewer Reruns failed tests Closes PR Tags a user PRs and Bots: Useful Commands
  26. PRs and Bots: Reviewers/Approvers • Attach /sig label • Contact

    your mentor(s) • Contact the SIG ◦ attend SIG meeting ◦ ask Slack ◦ send email to list • Contact OWNERS