-
191 key speakers
-
we've adopted the CNCF Code of Conduct
-
Wear T-shirts
-
Lunch is at 1 pm (not 12 pm)
-
SIG Updates start at 2pm, 5mins per SIG.
- Github Org Structure
- K8s, kubernetes-sigs, associated
- Incubation is deprecated
- Formalize Subprojects and Working Groups
- SIG Charters
- Please PR vs. spamming the list "Athenian democracy doesn't scale."
- K8s Values
- Voting Roles & Rules
- First class for new contributor workshop
- Orientation tour
- Who this is for You're an advanced user and looking at contributing, or
- Mentor: Guin(Samsung), Josh(Red Hat), IIya(Weave,), and so on
- Steps
Non-member contributors -> Member -> Reviewer -> Approver -> Owner
- CLA signing
ask helpdesk@linuxfoundation.org
- Where to Contribute
-
Desire to learn and improve the project
-
Docs and Website, Frontend development
SIG-docs, SIG-contributor-experience
-
Testing
test-infra repository SIG-testing
-
Code
Subrepositories and related projects around(charts, minikube, kops, etc). Depends on your are of interest.
-
Finding your first topic
-
Find your topic exercise
what part of K8s you might want to contribute to
- Let's talk: Communication
-
Standards of Communication, Why is everyone so nice?
https://github.com/cncf/foundation/blob/master/code-of-conduct.md
-
Tech question go on StackOverflow and Slack, not Github
-
Github issues and pull request often entail discussion related to the topic at hand. Stay courteous and follow up.
-
Stay patient as people may address your questions and contributions.
slack.k8s.io
slack at #kuberentes-users, #kubernetes-novice, #sig-contribex
-
Others
Community meetings
Mailing lists
@pinging someone on GitHub
Meetups
Office Hours
-
link
@kubernetesio on twitter
kubernetes-dev@googlegroups.com
kubernetes-users@googlegroups.com
Meetings Calendar: kuberentes.io/community/
-
The SIG System: How work is organized
SIG Special Interest Group
Semi-autonomous teams
Own leaders & charter, Responsible for code, Own repo(s) (sometimes), Slack channel & mailing list, Meetings(usually Zoom), Subprojects (& WGs)
List of SIGs github.com/kubernetes/community
-
Types of SIGs
-
Feature Areas
sig-auth, sig-apps, sig-autoscaling ...
-
Plumbing
sig-cluster-lifecycle, sig-api-machinery, sig-instrumentation
-
Cloud Providers
sig-aws, sig-azure, sig-gcp, sig-ibmcloud, sig-openstack
-
Meta
sig-architecture, contributor-experience, product-management, release, testing
-
Docs
sig-docs
https://github.com/kubernetes/community/blob/master/sig-list.md
-
-
WGs and Subprojects
Working Groups == Old way
Subprojects == New way
For specific:
- Tools(Helm), Goals(Resource Management), Areas(Machine Learning)
-
List of WGs
Frequently changed
when a feature is implemented, WG is removed.
-
Picking the right SIG
-
Figure out what specific projects/areas you want to work on
-
Find out which SIG/WG/subproject covers that
a. ask #sig-contribex
b. Go to the SIG intros at this conference
-
Join
If joining a WG/subproject, also join a SIG
-
-
Repositories
Repos being refactored
-
Core: kubernetes/kubernetes
-
Project:
- k/Community
- k/Features
- k/Steering
- k/Test-Infra
- k/Perf-Tests
-
Docs/Website:
- k/website ... primary
- k/kubernetes-docs-cn
- k/kubernetes-docs-ko
-
Developer Tools:
- k/sample-controller*
- k/sample-apiserver*
- k/code-generator*
- k/k8s.io
- k/kubernetes-template-project
-
Staging
- api
- apiextentions-apiserver....
- client-go
-
SIG repos
- release
- federation
- autoscaler ...
-
Cloud Providers
- cloud-provider-azure
- cloud-provider-gcp
- cloud-provider-aws
-
Products & Tools
- kubeadm, kkubectl, kops ...
-
Kube-Incubator Deprecated
- Community repo has 99 problems, and 22 is in kube-incubator.
-
A Historical Accumulation
Random stuff in kubernetes/, kube-incubator, contrib/ and no clear path for promotion/deprecation
-
-
How it will be:
- start in kubernetes-sigs/ namespace
- SIGs determine when/how they graduate to kubernetes/ or k/k
-
Repos can have different ownership, approval WF, merge WF, Release cycle
-
Membership/Ownership
OWNERS files govern who approves code recursive to parent dir.
-
Contributing by Issue: Josh (15 min) (1:42)
First: Bug Reports
-
Find the right repo for the bug
-
Create a complete & detailed bug report
a. including labels!
-
Follow up with commentors/fixers.
-
-
Issues as Specifications
- Most changes in K8s start with an Issue:
- Feature proposals
- API change proposals
- New tests
- Additions to Docs
- Changes to community project management
-
From Issue to Code/Docs
- Start with an issue that proposes a change
- Apply all appropriate labels
- cc SIG leads and concerned devs
- Raise the issue at a SIG meeting or on the list
- When you have "lazy consensus", submit a PR.
-
Required labels
-
On creation: sig/ kind/
-
Added later: triage/ priority/
-
Optional: area/
-
sig/ label
Defines which ISG the issue should belong to. Ask or guess if you don't know.
-
kind/ label
Defines what type of issue it is: kind/bug, kind/feature, kind/design, kind/failing-test
-
triage/ label
For issues that are being closed as part of triage. triage/duplicate, triage/needs-information, triage/support ....
-
priority/ label
How critical is this issue?
priority/critical-urgent .. If Kubernetes crashes
priority/important-soon
priority/important-longterm
priority/backlog
priority/awaiting-evidence
-
area/ label
Optional label, may define specific focus within the SIG. No standardization.
area/kubectl
area/api
area/dns
area/platform/gce
-
help wanted
-
-
Labels
-
Make sure you check issue for comments and respond
-
Try to test solutions...
-
-
Making Contributions By Pull Request (with the walkthrough)
https://github.com/kubernetes/community/tree/master/contributors/new-contributor-playground
When you start contributing, it always fork
/needs-ok-to-test ... Approver add /ok-to-test if a commit is ready for a test. When you become member role, it always accepts.
-
Test Infrastructure
On the PR
pull-kubernetes-bezel-test
pull-kubernetes-cross
...
Automated tests
Understanding test failures
/retest ... trigger to run the test again
/meow ... easter eggs
-
Doc Contributions(Documentation)
Anyone can contribute to docs.
Become membership create PR at least five.
Slack: @sig-docs
-
Docs use the Kubenrnetes bot!
To update current docs, branch from
master
.-> Update docs immediately on the website.
To create docs for a specific release, branch from
release-1.X
.
-
-
Local Build & Test for code contributors
-
Dev Env
Have lots of RAM and CPU (> 8GB RAM, 8 cores)
10's of GB's of disk
Use Linux
Place your k8s git repo fork in $GOPATH/src/k8s.io/kubernetes
Start planning what your test cluster will be...
-
Build
./build/run.sh make
# docker and rsync is requiredmake WHAT="cmd/kubectl"
# build part of componsentsInformation: https://git.k8s.io/kubernetes/build
run built command
./_output/local/bin/linux/amd64/kubectl
KUBE_BUILD_PLATFORMS="linux/amd64" make WHAT="cmd/kubectl"
-
Testing
go test ./...
# manual testmake test WHAT="cmd/kubectl"
# Test part of componsents
-
-
Getting Org Membership
Other Note: https://github.com/npentrel/notes/blob/master/kubecon/kubecon-new-contributor-summit.md
(Did not attend)
-
SIG Documentation from Linux Foundation
- We're migrating the website from Jekyll to Hugo
- support internationalization
- Hugo changes whre content lives
- branch: hugo-migration website/contents/en/docs
-
SIG API Machinery
- CRDs(Custom Resource Definition) Versionning: no-op conversions coming!
- Admission Webhooks
- Aggregation
- WG: Apply
- client-go interface churn
- Setting up webhooks / aggregated apiservers(certs!)
-
SIG Apps
- Start Application CRD
- CI/CD Deployment tooling
-
SIG Architecture
- Organize Roadmap, Plan, Idea
- Architecture policy
-
SIG Auth
- [TBD] TokenReqeust API, Time limited, per-pod (eventurally)
ServiceAccountTokenProjection
- client-go: credential providers
- Long term: imporve policy consistency
- binding behavior, namespaced clsuter-wise, composition etc
- Audiot RBAC ole and binding, PodSecurityPolicyWebhook extra infor
- Scalability Improvements
- Node Isolation: TLS improvements, Booststraping via TPM, Certificate rotation
NodeRestriction
- Expand authentication and authorization conformance test
-
SIG Autoscaling Update
- External Metrics Support
- Scaling on metrics not directory associated with K8s obj
- Clsuter Autoscaler Improvents
- error handling
- Azure VMSS support
- GCP automated nodegroup detection
- Improved autoscaling around GPU support
- [1.11] Vertical Pod Autoscaler alpha!
- Metric label selectors otherlable!="aaa"
- Tweaks to HPAv2 ergonomics
-
SIG AWS
- AWS encryption provider
- e.g. CSI provider
-
SIG Azure
-
SIG Big Data
-
SIG CLI
- Moving client-side logic to server side
- Extensions, Version Skew
- Server-side printing
- Server-side apply
- Making remaining client-side kubectl work with extensions and version skew
- Use OpenAPI schema instead of static go structs
- Use subresources
-
SIG Cluster Lifecycle
- Provide more transparency on deliverables and execution
- Have assignees and priority *
- Track burn down
- Auto-labeling and aggressively review backlog
- Loop in more folks
- the pool of talent is wide and diverse
- Looking to build up the approvers group
- [1.11]
- kubeadm Triage and backlog
- ~ComponentConfig for kubeadm
- Initial master join workflow
- Cluster API hopefully an alpha release in 1.111
- New home in the kubernetes-sigs
-
SIG Contributor Experience
- 2018 principles: it better be documented
- Archiving a SPOF-less SIG
- All contributors should have a relatively same and smooth process across repos
- Subprojects: DevStats, Mentoring, Contributor Documentation, Community Management, Events, Contributor WOrkflow, and Documentation.
-
SIG GCP
-
SIG IBMCloud
- First SIG meeting was on April 25
-
SIG Instrumentation
- 1.10 resource metrics API, deprecated heapster, custom metrics API
-
SIG Multicluster
- CLusterRegistry - sig-apimachinery
- Naming EnviromentRegistryImplementing as CRD
- Auth in Cluster Registry - sig-auth
- Keeping auth outside cluster registry
- Multicluster Ingress - sig-networking
- CLusterRegistry - sig-apimachinery
-
SIG OpenStack
- kubernetes/cloud-openstack-provider repository
- The goal is to remove k/k provider code after 1.11
- Hosts Flex and CSI drivers for OpenStack Cinder
- Hosts OpenStack Keystone authentication/authorization driver
- 3rd party end-to-end testing of the cloud provider
- Based off upstream MiniKube e2e testing
- Tests hosted by OpenLab, using uul v3 testing framework
- Collaborations
- SIG-<provider>
- SIG-Docs
- SIG-Testing
- kubernetes/cloud-openstack-provider repository
-
SIG Node
- Focus on stabilization.
- cri, containerd
-
SIG PM(product management)
- Renamed to SIG-PM
- Converting the product, program and project management aspects of Kubernetes
-
SIG Release
- Making release team for subproject
- Fix release of the dependency between components.
-
SIG Scalability
- Solve release delay
- charter
-
SIG Service Catalog
- svcat: new command line tool
- Consider moving to CRDs Or apiserver storage for agg apis
- Complete NS-scoped brokes
- Async BindingsResolved CRD decisions
- Generic Instance Actions
- Generic Broker Actions
- GUIDs in names are problematic
-
SIG Storage
- [1.10] To beta:
- Local Storage API added support or block volumes
- CSI Core API, support FSType, and other CSI parameters.
- Enabled Secrets to be shared with CSI drivers
- Moved to CS spec v0.2
- Mount propagation
- Enabled privileged containers to opt-in to bidirectional rshared mounts
- Ephemeral Storage request/limit API
- Prevent deletion of PV bound to PVC & PVC in used by a pod
- Finalizer used to block deletion of volume objects out of order
- [1.11/1.12]
- driver beta features towards GA/stable:
- CSI, Local Storage, Topology-Aware Volume Scheduling, Generic APIs, Snapshots/Restore APIs
- driver beta features towards GA/stable:
- Working on a series of videos to help onboard new contributors
- Face-to-face meeting in Mt. View California on May15-16
- See SIG meeting notes or mailing list for details.
- [1.10] To beta:
-
SIG Testing
- Switch to Tide for k/k
- Split up testing configurations for each org/sig
- The mechanism for promote/demote merge blocking jobs
- metrics for presubmit flakiness now
- Conformance Drive
- Integration with kubetest and testgrid
- conformance WG
- Prow Bundle: OSS Testgrid, Bundle Prow + Gubernator + TestGrid
- Testing-commons: sub project for integration test framework
-
SIG UI
-
SIG VMWare
- Initial focus area: implement a re-architected cloud provider for vSphere
- vSphere provider has interaction with Network, Node, Scheduling, Storage, Testing and other SIGs.
- vSphere resource for starting CI/CD test integration, starting soon.
- Still building dev + user participation, as a new SIG
- [1.11] No Features, Design: Move cloud provider "out of tree."
- [1.12] Implementation
-
SIG Windows
- [1.10]
- Kubelet and kube-proxy can now be ran as Windows services
- Kubelet starting and working properly on VMWare
- Experimental support for Hyper-V isolation (only one container per pod is supported yet in this node)
- Support for resource control for Windows Server containers
- Ansible playbooks for deploying a K8s cluster with Windows node using ovn-kubernetes
- [1.11]
- CNI support and enhancements for all versions of Windows
- Windows Service Accounts in Kubernetes
- CI/CD system for Windows in Kubernetes
- [1.10]