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

How to start contributing to Kubernetes Projects

How to start contributing to Kubernetes Projects

How to start contributing to Kubernetes Projects?
- Join in Kubernetes Community
- Community Group
- Contribute to Kubernetes
step by step

Ader Fu
COSCUP x KCD Taiwan 2022, July. 31, 2022

Db3181d9b15867e445d87720bfc59577?s=128

ydFu(Ader Fu)

August 01, 2022
Tweet

More Decks by ydFu(Ader Fu)

Other Decks in Programming

Transcript

  1. COSCUP x KCD Taiwan 2022 How to start contributing to

    Kubernetes Projects? Ader Fu <ader.ydfu@gmail.com> COSCUP x KCD Taiwan 2022, July. 31, 2022
  2. COSCUP x KCD Taiwan 2022 About me Ader Fu is

    a software engineer who likes open source. The experience of the community has Cloud Native Taiwan User Group volunteers, Kubernetes member/sig-docs reviewer , Istio member Love Skill: ESB,APIM,DevOps,Kubernetes Contact: Github: @ydFu Email: ader.ydfu@gmail.com 2
  3. COSCUP x KCD Taiwan 2022 Outline Join in Kubernetes Community

    Community Group Contribute to Kubernetes step by step 3
  4. COSCUP x KCD Taiwan 2022 Join in Kubernetes community 4

  5. COSCUP x KCD Taiwan 2022 Why should you contribute? More

    contribute! More experience! Mutually beneficial! First contribute 5
  6. COSCUP x KCD Taiwan 2022 How do you contribute as

    a beginner? Kubernetes issue: https://github.com/kubernetes/kubernetes/issues 6
  7. COSCUP x KCD Taiwan 2022 What is Kubernetes member? Kubernetes

    official organization: https://github.com/kubernetes 2022/07/30 7
  8. COSCUP x KCD Taiwan 2022 How do you become a

    member? (1/2) 8
  9. COSCUP x KCD Taiwan 2022 How do you become a

    member? (2/2) • What’s a K8s member? • Consistency Contribute • Member Application C+2S=>M Member Contributor Sponsor Join In! 9
  10. COSCUP x KCD Taiwan 2022 How do you join the

    SIGs? (1/2) • SIGs Application kubernetes/website : https://github.com/kubernetes/website/graphs/contributors 10
  11. COSCUP x KCD Taiwan 2022 How do you join the

    SIGs? (2/2) • SIGs Application 11
  12. COSCUP x KCD Taiwan 2022 Community Group 12

  13. COSCUP x KCD Taiwan 2022 Community Group Types Committees Sets

    of people that are chartered to take on sensitive topics. Special Interest Groups (SIGs) Persistent open groups that focus on a part of the project. Working Groups (WGs) Temporary groups that are formed to address issues that cross SIG boundaries. User Groups (UGs) Groups for facilitating communication and discovery of information REF: git.k8s.io/community#governance 13
  14. COSCUP x KCD Taiwan 2022 Testing Contributor Experience Release Docs

    Usability API Machinery CLI UI Multicluster Windows Auth Apps Autoscaling Cluster Lifecycle Instrumentation Network Node Scalability Scheduling Service Catalog Storage Resource Management Steering Project Horizontal Vertical Architecture Code of Conduct Product Security Big Data Cloud Provider Multitenancy IoT Edge Reliablity Policy API Expression Structured Logging K8s Infra Applications Resource Management Infrastructure Work group SIG Committee User group Community Groups Structure Security VMware 14
  15. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md • Special Interest

    Groups (SIGs) ◦ Primary organizational unit ◦ Topic specific (network, docs, etc.) • Subprojects ◦ Work in SIGs divided into one or more subprojects ◦ Every part of Kubernetes must be owned by subproject Community Groups: SIGs (1/2) 15
  16. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md Community Groups: SIGs

    (2/2) Project SIGssd sig-architecture,sig-contribex,sig-docs,sig-pm,sig-release sig-testing,sig-usability Horizontal SIGs sig-api-machinery,sig-auth,sig-cli,sig-instrumentation sig-multicluster,sig-scalability,sig-ui,sig-windows Vertical SIGs Applications: sig-apps,sig-service-catalog Infrastructure: sig-cloud-provider,sig-cluster-lifecycle Resource Management: sig-autoscaling,sig-network,sig-node,sig-scheduling, sig-storage 16
  17. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md • Working Groups

    (WGs) ◦ Short-lived rallying point ◦ Work spanning multiple SIGs Community Groups: WGs (1/2) 17
  18. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md Community Groups: WGs

    (2/2) Project Working Groups wg-security-audit wg-k8s-infra wg-LTS Horizontal Working Groups wg-apply wg-component-standard wg-multitenancy wg-policy Vertical Working Groups Applications wg-machine-learning wg-io-edge Resource Management wg-resource-management 18
  19. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md • User Groups

    ◦ Facilitate communication between users and contributors. ◦ Topics include usage of, extension of, and integration with Kubernetes and Kubernetes subprojects. ◦ User Groups: ▪ Big Data ▪ VMware Users Community Groups: User Groups 19
  20. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md • Committees ◦

    Don't have open membership ◦ Don't always operate in the open (Security or Code of Conduct) ◦ Formed by Steering Committee ◦ Committees: • Steering • Product Security • Code of Conduct Community Groups: Committees 20
  21. COSCUP x KCD Taiwan 2022 REF: git.k8s.io/community/governance.md  Slack (slack.k8s.io):

    • Join the slack to find out what :party_blob: is #sig-<sig-name> to join a SIG channel  Zoom meetings(zoom)  Mailing lists: • Community wide • Per sub-group (SIG/WG/UG/committee) • Contact information for a SIG: git.k8s.io/community/sig-name#contact Connect with the community 21
  22. COSCUP x KCD Taiwan 2022 Contribute to Kubernetes step by

    step 22
  23. COSCUP x KCD Taiwan 2022 CNCF Community Code of Conduct

    •As contributors and maintainers in the CNCF community, and in the interest of fostering an open and welcoming community •CNCF pledge to respect all people - contribute through reporting issues - posting feature requests - updating documentation - submitting pull requests or patches REF: https://github.com/cncf/foundation/blob/main/code-of-conduct.md 23
  24. COSCUP x KCD Taiwan 2022 Contributor License Agreement (CLA) •Kubernetes

    can only accept original source code from CLA signatories. •The Cloud Native Computing Foundation (CNCF) defines the legal status of the contributed code in two different types of Contributor License Agreements (CLAs) Individual Contributor: You are contributing as yourself, and not as part of another organization. Corporate Contributor: You are contributing on behalf of your employer or other organization. Note: Check in with your organization if you would need to sign the corporate CLA REF: https://github.com/kubernetes/community/blob/master/CLA.md 24
  25. COSCUP x KCD Taiwan 2022 Find the issue • Find

    Issue: https://go.k8s.io/good-first-issue • Ask questions: - your mentor - SIG slack channel - SIG meetings • 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. good first issue help wanted 25
  26. COSCUP x KCD Taiwan 2022 PRs and Bots: GitHub PR

    Flow 26
  27. COSCUP x KCD Taiwan 2022 Start your first PR 27

  28. COSCUP x KCD Taiwan 2022 Command /assign @username /retest /close

    /cc @username Result Assigns to reviewer or myself Reruns failed tests Closes this PR Tags a user PRs and Bots: Useful Commands and label https://prow.k8s.io/command-help Label cncf-cla: yes ok-to-test sig/node do-not-merge/hold lgtm approved 28
  29. COSCUP x KCD Taiwan 2022 Kubernetes PR flow Step 0:

    Automation suggests reviewers and approvers for the PR - Choose at least two suggested reviewers, and request their reviews on the PR Step 1: Humans review the PR - Reviewers look for general code quality, correctness, sane software engineering, style, etc. - If the code changes look good to them, a reviewer types /lgtm in a PR comment or reviewOnce a - reviewer has /lgtm'ed, prow (@k8s-ci-robot) applies an lgtm label to the PR Step 2: Humans approve the PR - Approvers look for holistic acceptance criteria, including dependencies with other features, forwards/backwards compatibility, API and flag definitions, etc - If the code changes look good to them, an approver types /approve in a PR comment or reviewprow (@k8s-ci-robot) updates its comment in the PR to indicate which approvers still need to approve - Once all approvers (one from each of the previously identified OWNERS files) have approved, prow (@k8s-ci-robot) applies an approved label Step 3: Automation merges the PR - All required labels are present (eg: lgtm, approved) - Then the PR will automatically be merged 29
  30. COSCUP x KCD Taiwan 2022 Speed up PR merged •

    Small commits and small pull requests get reviewed faster and open a different Pull Request for Fixes and Generic Features • Use the commit message body to explain the what and why of the commit • Coding Conventions: tips for writing code in the different programming languages used throughout the Kubernetes project.(Coding Conventions) (API conventions) (Kubectl conventions) • All new packages and most new significant functionality must come with unit tests, integration (test/integration) and/or end-to-end (test/e2e) tests. 30
  31. COSCUP x KCD Taiwan 2022 Non-code Contributions • Issue Triage

    • Documentation • Join the upstream marketing community work • Localization • Project management • Event management: helping run Contributor Summits • Community education: You can Volunteer to be the mentor or sign up to be mentee at KubeCon. REF: https://www.kubernetes.dev/docs/guide/non-code-contributions/ 31
  32. COSCUP x KCD Taiwan 2022 Thank you!