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: [email protected] 2
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
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
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
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
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
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
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
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
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
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- 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
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
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
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
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
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
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
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