<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes Contributors – New Contributor Course</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/</link><description>Recent content in New Contributor Course on Kubernetes Contributors</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Section 1: Starting Out</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/01-starting-out/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/01-starting-out/</guid><description>
&lt;h1 id="welcome-to-kubernetes">Welcome to Kubernetes!&lt;/h1>
&lt;p>Welcome to the New Contributor course for Kubernetes!&lt;/p>
&lt;hr>
&lt;h1 id="section-1-starting-out">Section 1: Starting Out&lt;/h1>
&lt;p>Each unit of this course consists of a slideshow and links to resources. Take your time reading the materials, and feel free to reach out to the community with questions.&lt;/p>
&lt;p>We look forward to your contributions!&lt;/p>
&lt;hr>
&lt;h1 id="what-you-are-about-to-learn">What you are about to learn&lt;/h1>
&lt;p>This first unit is all about starting out in the Kubernetes community. By the end of this unit, you will:&lt;/p>
&lt;ul>
&lt;li>Understand the organization of the K8s community, special interest groups, committees, and working groups.&lt;/li>
&lt;li>Communicate effectively with the community.&lt;/li>
&lt;li>Understand and be able to work with the K8s code of conduct and community values.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-exactly-is-a-contributor">Who exactly is a contributor?&lt;/h1>
&lt;p>Kubernetes contributors bring a wide range of talents, skills, services, and ideas to the community. They:&lt;/p>
&lt;ul>
&lt;li>Write documentation&lt;/li>
&lt;li>Write and review code&lt;/li>
&lt;li>Participate in the community&lt;/li>
&lt;li>Participate in special interest groups&lt;/li>
&lt;li>AND MORE!&lt;/li>
&lt;/ul>
&lt;p>Everybody&amp;rsquo;s contributions are welcome in the Kubernetes community!&lt;/p>
&lt;hr>
&lt;h1 id="what-are-the-core-values-of-the-kubernetes-community">What are the core values of the Kubernetes community?&lt;/h1>
&lt;p>The Kubernetes community adheres to the following principles:&lt;/p>
&lt;ul>
&lt;li>Distribution is better than centralization&lt;/li>
&lt;li>Community over product or company&lt;/li>
&lt;li>Automation over process&lt;/li>
&lt;li>Inclusive is better than exclusive&lt;/li>
&lt;li>Evolution is better than stagnation&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/values/">Read more about our community values.&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="what-behavior-is-expected-of-contributors">What behavior is expected of contributors?&lt;/h1>
&lt;p>The Kubernetes community strives to be safe, respectful and inclusive. We expect all contributors to:&lt;/p>
&lt;ul>
&lt;li>Abide by the &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/code-of-conduct/">CNCF Code of Conduct&lt;/a>&lt;/li>
&lt;li>Help foster an open and welcoming community&lt;/li>
&lt;li>Respect their fellow contributors.&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/values/">Learn more about the Kubernetes community values.&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="what-is-the-cncf-code-of-conduct">What is the CNCF Code of Conduct?&lt;/h1>
&lt;p>&lt;em>&amp;ldquo;The Kubernetes Code of Conduct is in effect, so please be excellent to each other.&amp;rdquo; — Jorge Castro, 2020 SIG ContribEx co-chair&lt;/em>&lt;/p>
&lt;p>The Code of Conduct serves as a set of rules used by the Kubernetes community to uphold our core values and establish a safe, respectful and inclusive environment.&lt;/p>
&lt;ul>
&lt;li>Our code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-oversees-and-enforces-the-code-of-conduct">Who oversees and enforces the Code of Conduct?&lt;/h1>
&lt;p>The Code of Conduct Committee oversees and handles all incidents and responses regarding code of conduct issues and violations.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/code-of-conduct-incident-process/">Read about the committee&amp;rsquo;s reporting and response process.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-is-the-kubernetes-community-organized">How is the Kubernetes community organized?&lt;/h1>
&lt;p>Most community activity is organized into three areas:&lt;/p>
&lt;ul>
&lt;li>Special Interest Groups (SIGs),&lt;/li>
&lt;li>Working Groups&lt;/li>
&lt;li>Committees&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-are-special-interest-groups">What are Special Interest Groups?&lt;/h1>
&lt;p>We are organized primarily into Special Interest Groups, or SIGs. Each SIG is composed of members from multiple companies and organizations. In addition, each SIG:&lt;/p>
&lt;ul>
&lt;li>Works to advance the project with respect to a specific topic, such as Networking or Documentation.&lt;/li>
&lt;li>Has a charter that specifies its scope, responsibilities, and governance.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-a-working-group">What is a working group?&lt;/h1>
&lt;p>A working group facilitates topics of discussion that cross SIG lines. They are a vehicle for consensus building. A working group:&lt;/p>
&lt;ol>
&lt;li>Provides a formal avenue for collaboration around a common problem,&lt;/li>
&lt;li>Crafts a balanced position,&lt;/li>
&lt;li>And then disbands!&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="what-is-a-committee">What is a committee?&lt;/h1>
&lt;p>Some topics, such as Security or Code of Conduct, require discretion. Committees do not have open membership and do not always operate in the open.&lt;/p>
&lt;ul>
&lt;li>The steering committee forms committees as needed.&lt;/li>
&lt;li>All committee members must be community members.&lt;/li>
&lt;li>Like a SIG, a committee has a charter and a chair.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="where-can-i-learn-more">Where can I learn more?&lt;/h1>
&lt;p>The &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/">Kubernetes Community Resources page&lt;/a> has links to documents that describe our community structure and governance.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/community-groups/">The Community Groups page&lt;/a> lists all current SIGs, working groups, and committees.&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/governance.md">The governance document&lt;/a> drills down into more of the specifics.&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../02-getting-into-github">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 2: Getting Into GitHub</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/02-getting-into-github/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/02-getting-into-github/</guid><description>
&lt;h1 id="section-2-getting-into-github">Section 2: Getting Into GitHub&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you&amp;rsquo;re about to learn&lt;/h1>
&lt;p>The first step to being a Kubernetes contributor is getting into GitHub! After this unit, you will:&lt;/p>
&lt;ul>
&lt;li>Understand GitHub capabilities and how Kubernetes uses it&lt;/li>
&lt;li>Understand fork and clone and be able to perform these on a repository&lt;/li>
&lt;li>Be able to complete the contributor license agreement (CLA) and make a first pull request&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-github">What is GitHub?&lt;/h1>
&lt;ul>
&lt;li>GitHub is a web service for managing software development with Git.&lt;/li>
&lt;li>It provides bug tracking, task management, hosted development environments, continuous integration, and &lt;a href="https://github.com/about">other important features&lt;/a>.&lt;/li>
&lt;li>GitHub hosts the source code for many open source projects, including Kubernetes.&lt;/li>
&lt;/ul>
&lt;p>Working with GitHub is straightforward, but if you are new to it, it can seem complex. We want to make the process as easy as possible for you!&lt;/p>
&lt;hr>
&lt;h1 id="how-does-kubernetes-use-github">How does Kubernetes use GitHub?&lt;/h1>
&lt;p>As one of the largest open source projects with thousands of contributors, Kubernetes relies on GitHub for organization and sharing information.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/kubernetes/">Kubernetes hosts multiple projects on GitHub&lt;/a>, including Kubernetes itself and the &lt;a href="https://github.com/kubernetes/community">Kubernetes Community repository&lt;/a>.&lt;/li>
&lt;li>Contributions are managed using GitHub features such as issue tracking and pull requests.&lt;/li>
&lt;li>Organization membership is managed using GitHub accounts.&lt;/li>
&lt;li>There are four GitHub organizations used by the Kubernetes project: kubernetes, kubernetes-sigs, kubernetes-csi, and kubernetes-client. They contain over 300 projects.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-set-up-my-github-account">How do I set up my GitHub account?&lt;/h1>
&lt;p>You &lt;em>probably&lt;/em> already have a GitHub account, but just in case:&lt;/p>
&lt;ul>
&lt;li>If you don&amp;rsquo;t have one yet, &lt;a href="https://github.com/signup">create a GitHub account on their sign up page&lt;/a>. The Free plan works fine!&lt;/li>
&lt;li>Official members of the Kubernetes community need their GitHub accounts to &lt;a href="https://github.com/kubernetes/community/blob/master/community-membership.md">meet certain other requirements&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="which-github-features-will-i-use-as-a-contributor">Which GitHub features will I use as a contributor?&lt;/h1>
&lt;p>Now it&amp;rsquo;s time to learn all of these extra GitHub features.&lt;/p>
&lt;ul>
&lt;li>Kubernetes uses a &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models">fork and pull collaborative development model&lt;/a>.&lt;/li>
&lt;li>To get started, you will need to understand:
&lt;ul>
&lt;li>Pull requests&lt;/li>
&lt;li>Issue management&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Both will be covered in this course!&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-a-contributor-license-agreement-cla">What is a Contributor License Agreement (CLA)?&lt;/h1>
&lt;p>Once you are ready to contribute, you will have to jump through one small legal hoop, but we make it as easy as possible.&lt;/p>
&lt;ul>
&lt;li>The Kubernetes CLA gives Kubernetes the permission to use content and source code that you contribute.&lt;/li>
&lt;li>Kubernetes can only accept original source code from CLA signatories.&lt;/li>
&lt;li>If you change employers and still contribute to Kubernetes, you need to update your CLA.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-sign-a-cla">How do I sign a CLA?&lt;/h1>
&lt;ul>
&lt;li>After you make your first pull request, a GitHub bot will walk you through the process.&lt;/li>
&lt;li>The process is &lt;a href="https://github.com/kubernetes/community/blob/master/CLA.md">outlined in the Community repository&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="okay-you-are-ready-to-make-your-first-pull-request">Okay, you are ready to make your first pull request!&lt;/h1>
&lt;ol>
&lt;li>Visit the &lt;a href="https://github.com/kubernetes-sigs/contributor-playground">Kubernetes Contributor Playground repository&lt;/a>.&lt;/li>
&lt;li>Use the &amp;ldquo;Fork&amp;rdquo; button in the upper right corner to fork the repository to your own account.&lt;/li>
&lt;li>In your new fork, &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository">create a new branch&lt;/a>.&lt;/li>
&lt;li>Follow the directions to &lt;a href="https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository">clone the repository&lt;/a> to your workstation.&lt;/li>
&lt;li>Make edits in your new branch and push those changes to your fork.&lt;/li>
&lt;li>Back on GitHub, &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork">create a pull request from your fork&lt;/a>.&lt;/li>
&lt;/ol>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../03-pull-requests/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 3: Pull Requests</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/03-pull-requests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/03-pull-requests/</guid><description>
&lt;h1 id="section-3-pull-requests">Section 3: Pull Requests&lt;/h1>
&lt;hr>
&lt;h2 id="objectives">Objectives&lt;/h2>
&lt;p>This unit will teach you all about how to submit and manage pull requests for the different Kuberenetes repositories. By the end of this unit, you will be able to:&lt;/p>
&lt;ul>
&lt;li>Reference and operate in the Kubernetes GitHub workflow&lt;/li>
&lt;li>Recognize common bots and their messages&lt;/li>
&lt;li>Respond to code comments and test failures&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="what-is-a-pull-request">What is a pull request?&lt;/h2>
&lt;p>Before we start teaching you how to use pull requests, we should tell you what they are!&lt;/p>
&lt;ul>
&lt;li>A pull request is how you communicate that you have a Git branch filled with completed changes that you wish to merge with a repository on GitHub.&lt;/li>
&lt;li>Pull requests allow contributors to collaborate, review code, run tests, and confirm critical details &lt;em>before&lt;/em> new changes are integrated into a project.&lt;/li>
&lt;li>You will frequently see a pull request called a “PR”.&lt;/li>
&lt;li>Kubernetes relies heavily on GitHub’s pull request system. The &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests">GitHub docs have a thorough dive into pull requests&lt;/a>. &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests">Go deeper!&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="where-do-i-make-a-pull-request">Where do I make a pull request?&lt;/h2>
&lt;p>Before creating a pull request, you should:&lt;/p>
&lt;ol>
&lt;li>Figure out which repository and SIG is responsible for your changes.&lt;/li>
&lt;li>Check to see if an issue already exists for your change, and if not open one.&lt;/li>
&lt;li>Consider attending a SIG meeting and adding your issue to the agenda.&lt;/li>
&lt;li>Discuss your issue on Slack or on the mailing list.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="how-do-i-open-a-pull-request">How do I open a pull request?&lt;/h2>
&lt;p>You’ll want to review the basic pull request process you learned at the end of &lt;a href="../02-getting-into-github/">Unit 2&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>Every pull request &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository">starts with a branch on your fork&lt;/a> of a Kubernetes project.&lt;/li>
&lt;li>You can create pull requests using the GitHub website, any of the GitHub tools, or some third-party GitHub interfaces.&lt;/li>
&lt;li>Take time to review the &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/github-workflow/">GitHub Workflow documentation&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="how-does-kubernetes-use-pull-requests">How does Kubernetes use pull requests?&lt;/h2>
&lt;p>Kubernetes generally follows the standard GitHub pull request process, but there is a layer of additional Kubernetes specific (and sometimes SIG specific) differences.&lt;/p>
&lt;ul>
&lt;li>Right away, a bot starts adding automated labels to your PR.&lt;/li>
&lt;li>The bot helps you facilitate PR review. You can use &lt;a href="https://prow.k8s.io/command-help">these commands to interact with the bot&lt;/a>.&lt;/li>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/pull-requests/">You can learn more about the Kubernetes pull request process here.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="how-does-the-pull-request-review-process-work">How does the pull request review process work?&lt;/h2>
&lt;ul>
&lt;li>Anyone can review a documentation pull request. Code pull requests require approved reviewers.&lt;/li>
&lt;li>In addition to code-related concerns, pull request reviews also look at:
&lt;ul>
&lt;li>Language and grammar&lt;/li>
&lt;li>Content&lt;/li>
&lt;li>Potential website changes&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>You can respond to comments from reviewers through comments or additional changes that you push to your development branch. &lt;a href="../07-code-review">We will cover code review in a later unit.&lt;/a>&lt;/p>
&lt;hr>
&lt;h2 id="when-are-my-pull-requests-run-through-tests">When are my pull requests run through tests?&lt;/h2>
&lt;ul>
&lt;li>A bot runs your PR through a few pre-commit tests automatically.&lt;/li>
&lt;li>The results of these tests will be posted to your pull request’s discussion automatically.&lt;/li>
&lt;li>Once a reviewer adds the &lt;strong>ok-to-test&lt;/strong> label, &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/pull-requests/#how-the-e2e-tests-work">the bot will run your changes through end-to-end (e2e) tests&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="what-do-i-do-if-my-test-fails">What do I do if my test fails?&lt;/h2>
&lt;ul>
&lt;li>The test results should give some indication of what went wrong.&lt;/li>
&lt;li>Make changes, push them to your branch, and &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/pull-requests/">continue iterating through the pull request process&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>We will cover tests in more detail &lt;a href="../06-testing/">in a later unit&lt;/a>.&lt;/p>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../04-issues-management/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 4: Issues Management and Triage</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/04-issues-management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/04-issues-management/</guid><description>
&lt;h1 id="section-4-issues-managementtriage">Section 4: Issues Management/Triage&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you&amp;rsquo;re about to learn&lt;/h1>
&lt;p>This unit will help you get started with issue management across the Kubernetes GitHub repositories. By the end, you&amp;rsquo;ll:&lt;/p>
&lt;ul>
&lt;li>Understand and locate the issues management and triage tags&lt;/li>
&lt;li>Know where bugs are reported and how they are triaged&lt;/li>
&lt;li>Be able to understand how to prioritize work based on issues&lt;/li>
&lt;li>Be able to locate the security response committee for security issues&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-does-kubernetes-use-github-issues">How does Kubernetes use GitHub issues?&lt;/h1>
&lt;p>Contributors and end users use issues for a variety of reasons:&lt;/p>
&lt;ul>
&lt;li>Reporting bugs&lt;/li>
&lt;li>Tracking tasks&lt;/li>
&lt;li>Community organization&lt;/li>
&lt;li>Discussion&lt;/li>
&lt;/ul>
&lt;p>You can identify different types of issues with their labels (AKA tags).&lt;/p>
&lt;hr>
&lt;h1 id="what-are-labels">What are labels?&lt;/h1>
&lt;ul>
&lt;li>Labels are a GitHub feature used to organize issues and pull requests.&lt;/li>
&lt;li>They allow you to quickly identify at a glance what type of issue or pull request you are looking at.&lt;/li>
&lt;li>They are helpful when using the search feature to look for issues.&lt;/li>
&lt;li>Labels are also called tags!&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="where-can-i-find-all-of-the-kubernetes-issues">Where can I find all of the Kubernetes issues?&lt;/h1>
&lt;p>Issues are managed in many of the different Kubernetes GitHub repositories, and can be accessed via the &lt;em>Issues&lt;/em> tab. Here are the most common:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/kubernetes/kubernetes/issues">kubernetes/kubernetes&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/issues">kubernetes/community&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/website/issues">kubernetes/website&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-are-some-common-labels">What are some common labels?&lt;/h1>
&lt;p>There are &lt;a href="https://github.com/kubernetes/test-infra/blob/master/label_sync/labels.md">A LOT of different labels&lt;/a>, and both issues and pull requests (PRs) can have their own labels. Here are a few you will run into frequently.&lt;/p>
&lt;table style="font-size: 45%">
&lt;tr>
&lt;td>&lt;code>help wanted&lt;/code> and &lt;code>good first issue&lt;/code>
&lt;/td>
&lt;td>Use these to figure out what to work on first or next.
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>needs-sig&lt;/code> and &lt;code>needs-triage&lt;/code>
&lt;/td>
&lt;td>Bugs that haven't been assigned or triaged
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>lgtm&lt;/code>
&lt;/td>
&lt;td>"Looks good to me", a PR is ready to merge.
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>approved&lt;/code>
&lt;/td>
&lt;td>Indicates a PR has been approved by an approver from all required OWNERS files.
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>sig/*&lt;/code>
&lt;/td>
&lt;td>Each Special Interest Group (SIG) has their own label.
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>area/*&lt;/code>
&lt;/td>
&lt;td>For issues and PRs that apply to a specific area of Kubernetes
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kind/*&lt;/code>
&lt;/td>
&lt;td>Label different kinds of issues or PRs, such as bugs, API changes, or support requests.
&lt;/td>
&lt;/tr>
&lt;/table>
&lt;hr>
&lt;h1 id="which-labels-will-you-have-to-worry-about">Which labels will you have to worry about?&lt;/h1>
&lt;p>That list of labels is really long, but you won&amp;rsquo;t need to worry about most of them at the beginning.&lt;/p>
&lt;ul>
&lt;li>When starting out, you just need to look for issues labeled &lt;code>help wanted&lt;/code> or &lt;code>good first issue&lt;/code>.&lt;/li>
&lt;li>Many labels are managed automatically by bots.&lt;/li>
&lt;li>The community will suggest other labels for issues, or add them for you.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-triaging">What is triaging?&lt;/h1>
&lt;ul>
&lt;li>Triaging is the process where new issues and requests are reviewed and organized.&lt;/li>
&lt;li>Factors considered include priority/urgency, SIG ownership of the issue, and the kind of issue (bug, feature, etc.).&lt;/li>
&lt;li>Triage can happen asynchronously and continuously, or in regularly scheduled meetings.&lt;/li>
&lt;li>Each SIG may have its own approach to triaging.&lt;/li>
&lt;/ul>
&lt;p>Triaging is critical for keeping track of new issues, bugs, and problems. &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/issue-triage/">Read the Issue Triage Guidelines for more information.&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="how-are-issues-prioritized">How are issues prioritized?&lt;/h1>
&lt;p>Each SIG is responsible for triaging and deciding on the priority of issues that affect their area.&lt;/p>
&lt;ul>
&lt;li>The lowest priority is priority/awaiting-more-evidence&lt;/li>
&lt;li>The highest priority issues are labeled priority/critical-urgent and require somebody to work on them immediately.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-the-security-response-committee">What is the Security Response Committee?&lt;/h1>
&lt;ul>
&lt;li>The Security Response Committee (SRC) is responsible for triaging and handling the security issues for Kubernetes.&lt;/li>
&lt;li>The SRC is also responsible for disclosing vulnerabilities to the public.&lt;/li>
&lt;li>Report to them when you think you have discovered a potential security vulnerability in Kubernetes.&lt;/li>
&lt;/ul>
&lt;p>You can learn more about &lt;a href="https://kubernetes.io/docs/reference/issues-security/security/">Kubernetes security disclosure and reporting here&lt;/a>.&lt;/p>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../05-development/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 5: Getting Started with Kubernetes Development</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/05-development/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/05-development/</guid><description>
&lt;h1 id="section-5-getting-started-with-kubernetes-development">Section 5: Getting Started with Kubernetes Development&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you’re about to learn&lt;/h1>
&lt;p>It’s time to set up a development environment so you can build Kubernetes. By end of this unit, you will:&lt;/p>
&lt;ul>
&lt;li>Know the various environments for building and developing Kubernetes&lt;/li>
&lt;li>Know where to find the Kubernetes Development Guide&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-are-your-options-for-a-development-environment">What are your options for a development environment?&lt;/h1>
&lt;p>There are three primary options, all with their own benefits and drawbacks.&lt;/p>
&lt;ol>
&lt;li>Building Kubernetes with Docker&lt;/li>
&lt;li>Building Kubernetes on your local OS and shell environment&lt;/li>
&lt;li>Building Kubernetes with GitHub Codespaces&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="why-build-with-docker">Why build with Docker?&lt;/h1>
&lt;p>This method uses a containerized build environment. There are some good reasons to use it:&lt;/p>
&lt;ul>
&lt;li>Official releases are built using Docker containers.&lt;/li>
&lt;li>Initial setup is simple.&lt;/li>
&lt;li>This provides a very consistent build and test environment.&lt;/li>
&lt;/ul>
&lt;p>Read more about this method in &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/build/README.md">Building Kubernetes&lt;/a>.&lt;/p>
&lt;hr>
&lt;h1 id="why-build-using-a-local-os">Why build using a local OS?&lt;/h1>
&lt;p>This method takes the most effort to set up. But it has its own advantages:&lt;/p>
&lt;ul>
&lt;li>You’ll have fine-grained control over all aspects of the build process.&lt;/li>
&lt;li>There is no overheard from a container system like Docker.&lt;/li>
&lt;/ul>
&lt;p>To set this method up, &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#building-kubernetes-on-a-local-osshell-environment">follow the steps from the Development Guide&lt;/a>.&lt;/p>
&lt;hr>
&lt;h1 id="why-build-using-github-codespaces">Why build using GitHub Codespaces?&lt;/h1>
&lt;p>The newest method takes advantage of &lt;a href="https://github.com/features/codespaces">GitHub Codespaces&lt;/a> to provide a container-based development environment.&lt;/p>
&lt;ul>
&lt;li>All of your development resources (CPU, memory, and disk) are in the cloud.&lt;/li>
&lt;li>The only tool you need to install locally is a web browser!&lt;/li>
&lt;/ul>
&lt;p>To build Kubernetes with Codespaces, follow the steps in this document.&lt;/p>
&lt;hr>
&lt;h1 id="what-are-the-next-steps">What are the next steps?&lt;/h1>
&lt;p>Once you have a working development environment, you will be ready to develop and run tests against Kubernetes.&lt;/p>
&lt;p>But first, we recommend that you &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/development.md">become familiar with the Development Guide&lt;/a>.&lt;/p>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../06-testing/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 6: Testing</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/06-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/06-testing/</guid><description>
&lt;h1 id="section-6-testing">Section 6: Testing&lt;/h1>
&lt;p>This unit is all about the various types of tests, both automated and manual, in the Kubernetes project.&lt;/p>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you&amp;rsquo;re about to learn&lt;/h1>
&lt;p>By the time you&amp;rsquo;re done with this unit, you&amp;rsquo;ll:&lt;/p>
&lt;ul>
&lt;li>Be able to locate the requirements for manual testing during development&lt;/li>
&lt;li>Be able to respond to the automatic tests of bots for a pull request&lt;/li>
&lt;/ul>
&lt;p>Testing Kubernetes is pretty complicated. We will try to make it easy for you, but you might want to start by reading the &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/development.md">Development Guide&lt;/a>.&lt;/p>
&lt;hr>
&lt;h1 id="what-are-the-different-types-of-tests">What are the different types of tests?&lt;/h1>
&lt;p>In the course of developing Kubernetes, you will interact with three different test types:&lt;/p>
&lt;ol>
&lt;li>Unit tests&lt;/li>
&lt;li>Integration tests&lt;/li>
&lt;li>End-to-End tests&lt;/li>
&lt;/ol>
&lt;p>Let&amp;rsquo;s learn about each type of test!&lt;/p>
&lt;hr>
&lt;h1 id="unit-tests">Unit tests&lt;/h1>
&lt;p>&lt;strong>Unit tests&lt;/strong> run against the smallest possible components of code, like an individual function or API calls.&lt;/p>
&lt;ul>
&lt;li>Contributions with new significant functionality &lt;strong>must&lt;/strong> come with unit tests!&lt;/li>
&lt;li>Unit tests can use mock clients and servers to emulate aspects of the Kubernetes API for testing.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="integration-tests">Integration tests&lt;/h1>
&lt;p>&lt;strong>Integration tests&lt;/strong> make sure that components work together flawlessly as a group.&lt;/p>
&lt;ul>
&lt;li>All significant features require integration tests—including kubectl commands.&lt;/li>
&lt;li>Integration tests are able to test the behavior of the Kubernetes API &lt;em>without&lt;/em> bringing up a whole cluster.&lt;/li>
&lt;li>This makes integration tests more realistic than unit tests.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="end-to-end-tests">End-to-End tests&lt;/h1>
&lt;p>&lt;strong>End-to-end (E2E) tests&lt;/strong> emulate an entire execution path across the entire application, from start to end.&lt;/p>
&lt;ul>
&lt;li>E2E tests are the last signal to ensure end user operations match developer specifications.&lt;/li>
&lt;li>Significant features &lt;strong>should&lt;/strong> come with e2e tests.
&lt;ul>
&lt;li>If you contribute a new feature without e2e tests, be prepared to explain your reasoning to your PR&amp;rsquo;s reviewers.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-is-responsible-for-kubernetes-tests">Who is responsible for Kubernetes tests?&lt;/h1>
&lt;p>&lt;em>&amp;ldquo;Developers! Developers! Developers!&amp;rdquo; — Steve Ballmer&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Any contributor adding new functionality will be responsible for creating tests that validate their contribution.&lt;/li>
&lt;li>Any contributor submitting a pull request will be responsible for making sure that tests run against their contribution—and pass!&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/tree/master/contributors/devel/sig-testing">SIG Testing&lt;/a> is responsible for maintaining the test framework.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-presubmission-verification">What is presubmission verification?&lt;/h1>
&lt;p>Presubmission is the phase before a pull request is created—the steps that you, the contributor, can take to maximize your PR&amp;rsquo;s chance of success.&lt;/p>
&lt;ul>
&lt;li>Presubmission verification is a collection of checks that give your pull request the best chance of being accepted.&lt;/li>
&lt;li>Developers need to run as many verification tests as possible locally.&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#presubmission-verification">Learn how to run them in the Development Guide.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-interact-with-unit-tests">How do I interact with unit tests?&lt;/h1>
&lt;p>Pull requests need to pass &lt;strong>all&lt;/strong> unit tests.&lt;/p>
&lt;ul>
&lt;li>Run them all from your development directory with &lt;code>make test&lt;/code>&lt;/li>
&lt;li>You can also run unit tests individually during the development process.&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/testing.md#unit-tests">Read everything there is to know about unit tests in the Testing Guide.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-interact-with-integration-tests">How do I interact with integration tests?&lt;/h1>
&lt;p>Pull requests also need to pass &lt;strong>all&lt;/strong> integration tests.&lt;/p>
&lt;ul>
&lt;li>If you are testing locally, you might need to install extra software.&lt;/li>
&lt;li>These tests are run from your development environment with &lt;code>make test-integration&lt;/code>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/integration-tests.md">Read Integration Testing in Kubernetes to learn more about this type of test.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-interact-with-end-to-end-e2e-tests">How do I interact with end-to-end (E2E) tests?&lt;/h1>
&lt;p>E2E tests build test binaries, spin up a test cluster, run the tests, and then tear the cluster down.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Note: Running all E2E tests takes a very long time!&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>You will not need to run E2E tests for every pull request. &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/e2e-tests.md">The End-to-End Testing Guide is a great place to learn more.&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="how-does-testing-affect-my-pull-request">How does testing affect my pull request?&lt;/h1>
&lt;p>You should run tests locally or in your development environment before submitting a pull request, because it will speed up the process.&lt;/p>
&lt;ul>
&lt;li>The bots that process pull requests will run tests against your code!&lt;/li>
&lt;li>When the tests fail, your pull request will stall.&lt;/li>
&lt;li>You will need to use the &lt;strong>/ok-to-test&lt;/strong> command to tell the bot to run tests again.&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/pull-requests/#more-about-ok-to-test">Read about the ok-to-test label in the Pull Request Process documentation.&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="testing-resources">Testing Resources&lt;/h1>
&lt;p>We&amp;rsquo;ve covered a lot of ground in this unit, and if you want to go deeper, here is a collection of all the resources we used.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/kubernetes/community/tree/master/contributors/devel/sig-testing">SIG Testing documentation&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#presubmission-verification">The Development Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/testing.md#unit-tests">The Testing Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/integration-tests.md">Integration Testing in Kubernetes&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/e2e-tests.md">End-to-End Testing Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/pull-requests/#more-about-ok-to-test">Pull Request documentation&lt;/a>&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../07-code-review/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 7: Code Review</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/07-code-review/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/07-code-review/</guid><description>
&lt;h1 id="section-7-code-review">Section 7: Code Review&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you&amp;rsquo;re about to learn&lt;/h1>
&lt;p>In this unit, you will learn everything about getting your code contributions to Kubernetes reviewed. By the end of this unit, you will be able to:&lt;/p>
&lt;ul>
&lt;li>Understand the role of code reviews in the lifecycle of a pull request.&lt;/li>
&lt;li>Use your SIG process to get a senior contributor to review code for approval.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-a-code-review">What is a code review?&lt;/h1>
&lt;p>A code review is when other developers examine proposed changes and additions to source code.&lt;/p>
&lt;ul>
&lt;li>A code review validates new designs and implementations.&lt;/li>
&lt;li>Code review can also help newer developers learn the intricacies and architecture of existing code.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="why-are-code-reviews-important">Why are code reviews important?&lt;/h1>
&lt;p>Like testing, code reviews help make sure Kubernetes remains stable, reliable, and bug-free.&lt;/p>
&lt;ul>
&lt;li>With our huge contributor base, we need great guardrails to keep our code in good shape.&lt;/li>
&lt;li>Code reviews are a cornerstone of successful large software projects.&lt;/li>
&lt;li>Code reviews make sure that at least two pairs of eyes examine everything before integration into the main branch.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="where-does-a-code-review-fit-into-the-process">Where does a code review fit into the process?&lt;/h1>
&lt;p>To understand code reviews, you need to understand pull requests first. Make sure you&amp;rsquo;ve finished that unit!&lt;/p>
&lt;ul>
&lt;li>After you have submitted a pull request, the bot will assign two reviewers to your changes.&lt;/li>
&lt;li>Their code reviews must be passed before your pull request will be accepted into the main branch.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-can-review-my-code">Who can review my code?&lt;/h1>
&lt;p>Anybody can review your code, but only approved reviewers can add the &lt;code>lgtm&lt;/code> label to your PR, which marks it as ready for merging.&lt;/p>
&lt;ul>
&lt;li>Every SIG and section of the code base has its own approved reviewers.&lt;/li>
&lt;li>The requirements for becoming an approved reviewer differ across SIGs.
&lt;ul>
&lt;li>For an excellent example, &lt;a href="https://github.com/kubernetes/community/blob/master/sig-node/sig-node-contributor-ladder.md#sig-node-reviewers-and-approvers">read about SIG-Node approvers and reviewers&lt;/a>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-can-i-make-sure-my-changes-pass-review">How can I make sure my changes pass review?&lt;/h1>
&lt;p>There are a number of points to keep in mind while preparing your pull request for review.&lt;/p>
&lt;ul>
&lt;li>Follow the project &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/guide/coding-conventions.md">coding conventions&lt;/a>.&lt;/li>
&lt;li>Write &lt;a href="https://chris.beams.io/posts/git-commit/">good commit messages&lt;/a>.&lt;/li>
&lt;li>Break large changes into smaller patches that are easier to understand.&lt;/li>
&lt;li>Label your PR appropriately.&lt;/li>
&lt;li>Pay attention to the instructions the bot gives you.&lt;/li>
&lt;/ul>
&lt;p>The Contributor Guide has &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/guide/contributing.md#code-review">more guidelines and tips for passing reviews&lt;/a>.&lt;/p>
&lt;hr>
&lt;h1 id="help-my-pull-request-isnt-getting-any-reviews">Help! My pull request isn&amp;rsquo;t getting any reviews!&lt;/h1>
&lt;p>If you need help finding reviewers for your pull request, try one of the following:&lt;/p>
&lt;ul>
&lt;li>Post a message on the appropriate SIG&amp;rsquo;s Slack channel.&lt;/li>
&lt;li>Ask for assistance on the &lt;a href="https://kubernetes.slack.com/messages/pr-reviews">#pr-reviews Slack channel&lt;/a>.&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../08-community/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 8: Community</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/08-community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/08-community/</guid><description>
&lt;h1 id="section-8-community">Section 8: Community&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you’re about to learn&lt;/h1>
&lt;p>It’s time to learn about communication and community among Kubernetes contributors. By the end of this unit, you will:&lt;/p>
&lt;ul>
&lt;li>Understand the size, diversity, and capability of the Kubernetes community&lt;/li>
&lt;li>Be able to interact with members productively&lt;/li>
&lt;li>When to use email, when to use Slack, when to use GitHub issues, etc.&lt;/li>
&lt;li>Know the venues for involvement, including Kubecon and SIG meetings.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-big-is-the-kubernetes-contributor-community">How big is the Kubernetes contributor community?&lt;/h1>
&lt;p>The Kubernetes community has &lt;em>thousands&lt;/em> of active contributors.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://k8s.devstats.cncf.io/d/11/companies-contributing-in-repository-groups?orgId=1">Take a look at the statistics!&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="is-every-contributor-a-developer">Is every contributor a developer?&lt;/h1>
&lt;p>No! Kubernetes contributors take on all kinds of responsibilities and roles, including:&lt;/p>
&lt;div class="slides-container">
&lt;div class="slides-col">
&lt;ul>
&lt;li> Writing documentation and blog posts&lt;/li>
&lt;li> Coordinating volunteers&lt;/li>
&lt;li> Event management&lt;/li>
&lt;li> Project management&lt;/li>
&lt;li> Issue triage&lt;/li>
&lt;li> Managing communication tools&lt;/li>
&lt;/ul>
&lt;/div>
&lt;div class="slides-col">
&lt;ul>
&lt;li> Communication moderation&lt;/li>
&lt;li> Hosting meetups&lt;/li>
&lt;li> Social media management&lt;/li>
&lt;li> Public relations&lt;/li>
&lt;li> Community education&lt;/li>
&lt;li> New contributor training&lt;/li>
&lt;li> &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/guide/non-code-contributions/">And the list goes on!&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;hr>
&lt;h1 id="what-is-the-best-way-to-communicate-with-my-fellow-contributors">What is the best way to communicate with my fellow contributors?&lt;/h1>
&lt;p>Every SIG, working group, and committee will have its preferred method of communication, but globally, the community uses:&lt;/p>
&lt;ul>
&lt;li>Slack for synchronous communication and asking questions&lt;/li>
&lt;li>GitHub issues for tracking changes to code and content&lt;/li>
&lt;li>Mailing List(s) for long-form communication&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-do-i-need-to-know-about-the-mailing-lists">What do I need to know about the mailing lists?&lt;/h1>
&lt;p>Community-wide notifications and discussions are always sent to the &lt;a href="https://groups.google.com/a/kubernetes.io/g/dev">Kubernetes dev mailing list&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>Joining the Kubernetes dev mailing list will ensure you can access documents and receive notifications impacting the whole community.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-join-the-kubernetes-slack-community">How do I join the Kubernetes Slack community?&lt;/h1>
&lt;p>The Kubernetes Slack server has over 500 channels!&lt;/p>
&lt;ul>
&lt;li>First, get familiar with our &lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/comms/slack/">Slack communication guidelines&lt;/a>.&lt;/li>
&lt;li>Then &lt;a href="https://slack.k8s.io">join our Slack server here&lt;/a>!&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-the-best-way-to-communicate-with-each-sig">What is the best way to communicate with each SIG?&lt;/h1>
&lt;p>Each SIG and Working Group has its favored method of communication. You can start in their Slack channel and ask around.&lt;/p>
&lt;ul>
&lt;li>By working with a SIG, you will learn how its members communicate.&lt;/li>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/community/community-groups/">The Community Groups list&lt;/a> is a great place to learn about communication preferences.
&lt;ul>
&lt;li>This is also where you will learn about each group’s regularly scheduled meetings and how to attend.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-does-the-community-use-github-issues-and-email-to-communicate">How does the community use GitHub Issues and email to communicate?&lt;/h1>
&lt;p>Slack is excellent for most discussion and questions.&lt;/p>
&lt;ul>
&lt;li>Issues that affect more than one group need to be &lt;a href="https://github.com/kubernetes/community/tree/master/communication#decisions-are-made-here">discussed on the kubernetes-dev email list&lt;/a>.&lt;/li>
&lt;li>Decisions affecting a single group can be &lt;a href="https://github.com/kubernetes/community/tree/master/github-management">handled in GitHub&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-i-find-out-more-about-kubecon-and-other-in-person-events">How do I find out more about KubeCon and other in-person events?&lt;/h1>
&lt;p>While KubeCon is organized by the &lt;a href="https://www.cncf.io/">Cloud Native Computing Foundation (CNCF)&lt;/a>, we like to host a Contributor Summit alongside KubeCon.&lt;/p>
&lt;ul>
&lt;li>You can learn more about the next Contributor Summit on our &lt;a href="https://kubernetes.slack.com/messages/contributor-summit">#contributor-summit Slack channel&lt;/a>.&lt;/li>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/events/">Find out more on our Events page.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="where-can-i-learn-more-about-communication-in-the-community">Where can I learn more about communication in the community?&lt;/h1>
&lt;p>We have extensive guidelines and policies around our various communication channels.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/comms/">Read the Kubernetes Communication Platform Guidelines and Policies.&lt;/a>&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../09-documentation/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 9: Documentation</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/09-documentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/09-documentation/</guid><description>
&lt;h1 id="section-9-documentation">Section 9: Documentation&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you&amp;rsquo;re about to learn&lt;/h1>
&lt;p>This unit is about documentation, and by the end, you will:&lt;/p>
&lt;ul>
&lt;li>Know where documentation is stored for Kubernetes&lt;/li>
&lt;li>Understand the importance of localization&lt;/li>
&lt;li>Understand the process and responsibilities for updating documentation&lt;/li>
&lt;li>Know who is responsible for documentation&lt;/li>
&lt;li>Locate the style guide and other guidance for writing documentation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-is-the-kubernetes-documentation-organized">How is the Kubernetes documentation organized?&lt;/h1>
&lt;p>The documentation for the Kubernetes project can be divided into a number of categories.&lt;/p>
&lt;ul>
&lt;li>User-facing documentation&lt;/li>
&lt;li>Community documentation&lt;/li>
&lt;li>Special Interest Group (SIG) documentation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-the-user-facing-kubernetes-documentation">What is the user-facing Kubernetes documentation?&lt;/h1>
&lt;p>The user-facing documentation deals with how to install, configure, and operate Kubernetes and its subsystems.&lt;/p>
&lt;ul>
&lt;li>It also includes API documentation.&lt;/li>
&lt;li>&lt;a href="https://kubernetes.io/docs/home/">It is available on the Kubernetes website.&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-the-community-documentation">What is the community documentation?&lt;/h1>
&lt;p>The &lt;a href="https://www.kubernetes.dev/">community documentation&lt;/a> is an informal collection of docs maintained by contributors. It consists of:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/">The Contributor Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/tree/master/contributors/devel/">The Developer Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kubernetes.dev/">The Community website&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-is-the-sig-documentation">What is the SIG documentation?&lt;/h1>
&lt;p>Each SIG is in control of some aspect of Kubernetes development, infrastructure, or community.&lt;/p>
&lt;ul>
&lt;li>They each document their domains and processes in different ways.&lt;/li>
&lt;li>Consequently, the documentation is stored in many different places and varies widely in how complete it is.&lt;/li>
&lt;li>Here are some of the best:
&lt;ul>
&lt;li>&lt;a href="https://github.com/kubernetes/sig-release">SIG Release&lt;/a> handles the process of releasing new Kubernetes versions.&lt;/li>
&lt;li>You already saw lots of &lt;a href="https://github.com/kubernetes/community/tree/master/contributors/devel/sig-testing">SIG Testing documentation&lt;/a> in a previous unit.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="is-the-documentation-available-in-other-languages">Is the documentation available in other languages?&lt;/h1>
&lt;p>Kubernetes is used by developers and DevOps people &lt;em>all over the world.&lt;/em> It is important that the documentation is available in other languages.&lt;/p>
&lt;ul>
&lt;li>Can you write documentation in a language that isn&amp;rsquo;t English? We would love your help!&lt;/li>
&lt;li>Access user-facing documentation in other languages &lt;a href="https://kubernetes.io/docs/home/">from the documentation pages&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-is-responsible-for-the-documentation">Who is responsible for the documentation?&lt;/h1>
&lt;p>YOU ARE! &lt;!-- .element: class="r-fit-text" -->&lt;/p>
&lt;hr>
&lt;h1 id="no-seriously">No, seriously!&lt;/h1>
&lt;p>All of the contributors are responsible for documentation.&lt;/p>
&lt;ul>
&lt;li>Any user-facing changes should be documented.&lt;/li>
&lt;li>Any developer-facing changes should be documented.&lt;/li>
&lt;li>Any changes in SIG processes should be documented.&lt;/li>
&lt;/ul>
&lt;p>When you make a change, document it.&lt;/p>
&lt;hr>
&lt;h1 id="what-is-the-process-for-updating-the-documentation">What is the process for updating the documentation?&lt;/h1>
&lt;p>Documentation updates follow the same process as any other contribution.&lt;/p>
&lt;ul>
&lt;li>All of our documentation is written in Markdown.
&lt;ul>
&lt;li>Including these slides!&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Use the pull request process to submit changes to documentation.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="how-do-we-keep-the-documentation-useful-and-consistent">How do we keep the documentation useful and consistent?&lt;/h1>
&lt;p>Of course the last slide is the million dollar question.&lt;/p>
&lt;ul>
&lt;li>It is only through the efforts of contributors like you that the documentation stays useful and consistent.&lt;/li>
&lt;li>Pay attention to any visible changes your contributions are making! Always ask yourself, &amp;ldquo;How will this affect the documentation?&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a> | &lt;a href="../10-architecture/">Next Section&lt;/a>
&lt;/div></description></item><item><title>Docs: Section 10: Architecture and Enhancements</title><link>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/10-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding/10-architecture/</guid><description>
&lt;h1 id="section-10-architecture-and-enhancements">Section 10: Architecture and Enhancements&lt;/h1>
&lt;hr>
&lt;h1 id="what-youre-about-to-learn">What you’re about to learn&lt;/h1>
&lt;p>We’re getting into the guts of Kubernetes now! After this module, you will:&lt;/p>
&lt;ul>
&lt;li>Be able to locate the architecture documents for Kubernetes&lt;/li>
&lt;li>Understand how the different components interact&lt;/li>
&lt;li>Know how features and major changes are added to Kubernetes&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="where-are-the-architecture-documents">Where are the architecture documents?&lt;/h1>
&lt;p>The good news is that the Kubernetes architecture is very well documented.&lt;/p>
&lt;ul>
&lt;li>A great place to start is &lt;a href="https://kubernetes.io/docs/concepts/overview/components/">this overview of Kubernetes components&lt;/a>.&lt;/li>
&lt;li>You can find the cluster architecture in the &lt;a href="https://kubernetes.io/docs/concepts/architecture/">Concepts section of the documentation&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-are-the-components-of-a-kubernetes-cluster">What are the components of a Kubernetes cluster?&lt;/h1>
&lt;p>A Kubernetes deployment is called a cluster. So what is it made of?&lt;/p>
&lt;ul>
&lt;li>The control plane makes global decisions about the cluster, as well as detecting and responding to cluster events&lt;/li>
&lt;li>&lt;a href="https://kubernetes.io/docs/concepts/architecture/nodes/">Compute resources, known as nodes&lt;/a>, run pods and provide the Kubernetes runtime environment.&lt;/li>
&lt;li>&lt;a href="https://kubernetes.io/docs/concepts/workloads/pods/">Pods are the smallest deployable units&lt;/a> of computing that you can create and manage in Kubernetes.&lt;/li>
&lt;/ul>
&lt;p>You can also learn &lt;a href="https://kubernetes.io/docs/concepts/architecture/control-plane-node-communication/">how they communicate with each other&lt;/a>.&lt;/p>
&lt;hr>
&lt;h1 id="how-are-new-features-added-to-kubernetes">How are new features added to Kubernetes?&lt;/h1>
&lt;p>New features are added through a process that begins with a &lt;a href="https://github.com/kubernetes/enhancements/blob/master/keps/README.md">Kubernetes Enhancement Proposal&lt;/a>.&lt;/p>
&lt;p>KEPs are required for most non-trivial changes. Specifically:&lt;/p>
&lt;ul>
&lt;li>Anything that may be controversial&lt;/li>
&lt;li>Most new features&lt;/li>
&lt;li>Major changes to existing features&lt;/li>
&lt;li>Changes that are wide ranging or impact most of the project&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="who-manages-the-kubernetes-enhancement-proposal-process">Who manages the Kubernetes Enhancement Proposal process?&lt;/h1>
&lt;p>First, we call it KEP for short. And second, the KEP process is managed by the Architecture Special Interest Group (SIG Architecture).&lt;/p>
&lt;ul>
&lt;li>To learn more, &lt;a href="https://github.com/kubernetes/community/blob/master/sig-architecture/README.md">read the SIG Architecture documentation&lt;/a>.&lt;/li>
&lt;/ul>
&lt;div class="bottom-nav">
&lt;a href="https://deploy-preview-689--kubernetes-contributor.netlify.app/docs/onboarding">Onboarding Index&lt;/a>
&lt;/div></description></item></channel></rss>