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

Kubernetes Contributors Workshop

Kubernetes Contributors 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