Kubernetes Community(各sig小组维护的社区子项目)

https://github.com/kubernetes/community/  下面有众多的sig项目
https://github.com/kubernetes/kubernetes/   核心项目
这两个链接要注意

链接:
https://github.com/kubernetes/community/  (社区项目页)
https://github.com/kubernetes-sigs/ (Kubernetes SIG相关工作组织的独立站点,当然有些项目并没有放在该sigs中)

Kubernetes Community(Kubenetes社区)

Kubernetes项目主要是特殊兴趣小组或SIGs来组织。每个SIG小组由来自多个公司和组织的成员组成,其共同目的是推进与特定主题相关的项目,如网络或文档。我们的目标是实现分布式决策结构和代码所有权,并为完成工作、做出决策和加入新的贡献者提供重点论坛。
项目的每个可识别子部分(例如,github组织、存储库、子目录、API、测试、问题、PR)都将归某些SIG所有。

 

注意很多项目都来自Community,比如:apimachinery,dashboard等,所以不能简单的根据链接就认为是kubenetes下的commmunity项目.
Kubernetes 社区官方地址:  community page.

Kubernetes的子项目都是以组的方式来呈现,,并没有具体的代码,整个就是一个严谨的组织协同的工作模式,所以我这里并不想把community作为kubenets的子项目来对待.
kubenetes的子项目通常地址比如:https://github.com/kubernetes/kubectl ,是由某个sig组来维护.
https://github.com/kubernetes/community/blob/master/sig-list.md  是这个社区的一些成员包括sig组(应用组,架构组和其他相关的kubenetes生态工具),临时工作组以及委员会等组织).

大家通过slack,github等工具来协同构建. 正是由于community,所以kubenetes变得更加开放,当然community也不是一蹴而就的,需要长期的维护和贡献.

所以这个community就是想把kubenetes变成一个开放化的,生态化的工业级平台. 参与组织内部也是有严格的一些规则制定.

我们从kubenetes的1.4版本可以看到 ....\kubernetes-1.4.0\staging\src\k8s.io\client-go
1.staging目录出现
2.第一个被独立分离的子项目(vendor目录出现在2016年7月的1.3版本,放置了独立的heapster)
3.2016年3月的kubenetes 1.2版本并没有vendor目录
正是由于社区的推动,所以大量人员投入到其中,并进行相关子项目的剥离,、改造、解耦等,从而让工业级的维护变得更加的容易.

当然社区推动只是一部分,也包括很多其他的组织和公司等都在推动各自的技术发展,比如: docker公司,coreos(etcd,flannel)
特别是calico,由最初tigera团队开发
https://projectcalico.docs.tigera.io/about/about-calico
https://github.com/projectcalico/calico
 参看下: https://github.com/kubernetes/community/blob/master/community-membership.md#kubernetes-ecosystem 

什么是社区管理模式?

 

    
  在 https://github.com/kubernetes/community/blob/master/governance.md 里面详细介绍了社区是如何工作,遵循的原则,社区工作组的构成等


云原生计算基金会(CNCF)社区行为准则 1.0 版本

详细参看: https://github.com/cncf/foundation/blob/main/code-of-conduct-languages/zh.md

Welcome to the Kubernetes community! (欢迎来到Kubernetes社区!)

This is the starting point for joining and contributing to the Kubernetes community - improving docs, improving code, giving talks etc.

To learn more about the project structure and organization, please refer to Project Governance information.
这是加入Kubernetes社区并为其做出贡献的起点——改进文档、改进代码、进行演讲等。
要了解有关项目结构和组织的更多信息,请参阅Project Governance(项目治理)信息

Communicating(交流)

The communication page lists communication channels like chat, issues, mailing lists, conferences, etc.

For more specific topics, try a SIG.

communication 页面列出了通讯的渠道像聊天,问题和邮件列表,会议等对于更多的主题,尝试一个 sig

Governance(管控)

Kubernetes has the following types of groups that are officially supported:

Kubernetes 有以下几种官方支持的工作组(这里我们可以认为是社区下有几种工作组模式)

详细可参考 : https://github.com/kubernetes/community/blob/master/governance.md#subprojects

   
Committees(委员会)

Committees are named sets of people that are chartered to take on sensitive topics.
This group is encouraged to be as open as possible while achieving its mission but,
because of the nature of the topics discussed, private communications are allowed.
Examples of committees include the steering committee and things like security or code of conduct.

委员会是被授权处理敏感话题的指定人员集合

Committees详细介绍:

Some topics, such as Security or Code of Conduct, require discretion.
有些主题,如安全或行为准则,需要谨慎处理。
Whereas SIGs are voluntary groups which operate in the open and anyone can join,
鉴于SIG是开放的自愿团体,任何人都可以加入,
Committees do not have open membership and do not always operate in the open.
委员会没有公开的成员资格,也不总是公开运作。
The steering committee can form committees as needed, for bounded or unbounded duration.
指导委员会可以根据需要组建委员会,任期有限制或无限制。
Membership of a committee is decided by the steering committee, however, all committee members must be community members.
委员会成员由指导委员会决定,但所有委员会成员必须是社区成员
Like a SIG, a committee has a charter and a chair, and will report to the steering committee periodically,
与SIG一样,委员会也有章程和主席,并将定期向指导委员会报告,
and to the community as makes sense, given the charter.
根据规章,对社区来说是有意义的

sigs(特殊兴趣小组)

Special Interest Groups (SIGs) are persistent open groups that focus on a part of the project.
SIGs must have open and transparent proceedings.
SIGs是一个持久的公开的团体是项目的组成部分,SIGs必须有公开和透明的处理过程.

Anyone is welcome to participate and contribute provided they follow the Kubernetes Code of Conduct.
欢迎任何人参与并作出贡献,只要他们遵守kukbenetes行为准则

The purpose of a SIG is to own and develop a set of subprojects.

SIG的目的是拥有和开发一组子项目。

  • Subprojects Each SIG can have a set of subprojects. These are smaller groups that can work independently.
  • 子项目每个SIG可以有一组子项目。这些是可以独立工作的较小团队。
    Some subprojects will be part of the main Kubernetes deliverables
  • 一些子项目将是Kubernetes主要可交付成果的一部分
    while others will be more speculative and live in the kubernetes-sigs github org.
  • 而其他人则更具推测性,存在于在kubernetes-sigs github 组织中

SIGs详细介绍

The Kubernetes project is organized primarily into Special Interest Groups, or SIGs.
Kubernetes项目主要由特殊兴趣小组(兴趣小组会包括用户组、临时工作组WGs以及管理委员会等)或SIGs来组织推动。

Each SIG is comprised of members from multiple companies and organizations, with a common purpose of
advancing the project with respect to a specific topic, such as Networking or Documentation.

每个SIG由来自多个公司和组织的成员组成,其共同目的是推进与特定主题相关的项目如网络或文档。
注: 每个sig都是一个不同的Kubernetes兴趣小组,他负责维护不同的项目(或多个子项目).

Our goal is to enable a distributed decision structure and code ownership,
我们的目标是实现分布式决策结构和代码所有权,
as well as providing focused forums for getting work done, making decisions, and onboarding new contributors.
以及为完成工作、做出决策和招募新贡献者提供重点讨论。
Every identifiable subpart of the project (e.g., github org, repository, subdirectory, API, test, issue, PR) is intended to be owned by some SIG.
项目的每个可识别子部分(例如,github org、仓库、子目录、API、测试、问题、PR等)都将归某个SIG所有。

Areas covered by SIGs may be vertically focused on particular components or functions, cross-cutting/horizontal,

SIG覆盖的区域可能垂直集中于特定组件或功能,交叉/水平
spanning many/all functional areas of the project, or in support of the project itself. Examples:
跨越项目的许多/所有功能领域,或支持项目本身。示例:

  • Vertical: Network, Storage, Node, Scheduling
  • Horizontal: Scalability, Architecture
  • Project: Testing, Release, Docs, PM, Contributor Experience

SIGs must have at least one and ideally two SIG chairs at any given time. SIG chairs are intended to be organizers and facilitators,
responsible for the operation of the SIG and for communication and coordination with the other SIGs,
the Steering Committee, and the broader community.

SIG在任何给定时间都必须至少有一个SIG主席席位,最好是两个SIG主席席位。SIG主席旨在成为组织者和促进者,
负责该SIG的运行以及与其他SIG的沟通和协调,指导委员会和更广泛的社区。

Each SIG must have a charter that specifies its scope (topics, subsystems, code repos and directories), responsibilities, areas of authority,
how members and roles of authority/leadership are selected/granted, how decisions are made, and how conflicts are resolved.
See the SIG charter process for details on how charters are managed. SIGs should be relatively free to customize or change how they operate,
within some broad guidelines and constraints imposed by cross-SIG processes (e.g., the release process) and assets (e.g., the kubernetes repo).

每个SIG必须有一个章程,规定其范围(主题、子系统、代码库和目录)、职责、权限范围,
如何选择/授予权力/领导层的成员和角色,如何做出决策,以及如何解决冲突。
有关如何管理章程的详细信息,请参阅SIG章程流程。SIG应相对自由地定制或更改其操作方式,
在跨SIG流程(如发行流程)和资产(如kubernetes回购)施加的一些广泛指导方针和约束范围内。

A primary reason that SIGs exist is as forums for collaboration. Much work in a SIG should stay local within that SIG.
SIGs存在的一个主要原因是作为协作论坛。SIG中的许多工作都应该留在该SIG中的本地内部。
However, SIGs must communicate in the open, ensure other SIGs and community members can find notes of meetings, discussions, designs,
and decisions, and periodically communicate a high-level summary of the SIG's work to the community.

然而,SIG必须公开沟通,确保其他SIG和社区成员可以找到会议、讨论、设计的笔记,并定期向社区传达SIG工作的高层总结。

See sig governance for more details about current SIG operating mechanics, such as mailing lists, meeting times, etc.
有关当前sig操作机制的更多详细信息,如邮件列表、会议时间等,请参阅sig治理

More information: SIG Governance Requirements SIG Lifecycle - for a tactical checklist on creation and retirement
更多信息:SIG治理要求SIG生命周期-关于创建和退出的策略清单

Working Groups(临时工作组)

Working Groups are temporary groups that are formed to address issues that cross SIG boundaries.
工作组是为解决跨越SIG边界的问题而成立的临时小组。
Working groups do not own any code or other long term artifacts.
工作组不拥有任何代码或其他长期产物。
Working groups can report back and act through involved SIGs.
工作组可以通过相关SIG进行汇报和行动。

Working Groups详细介绍
We need community rallying points to facilitate discussions/work regarding topics that are short-lived or that span multiple SIGs.

我们需要社区集合点,以促进有关短期或跨多个SIG的主题的讨论/工作。

Working groups are primarily used to facilitate topics of discussion that are in scope for Kubernetes but that cross SIG lines.

工作组主要用于促进Kubernetes范围内但跨越SIG界限的讨论主题。
If a set of folks in the community want to get together and discuss a topic, they can do so without forming a Working Group.
See working group governance for more details about forming and disbanding Working Groups.
Working groups are documented in sigs.yaml.

User Groups(用户组)

User Groups are groups for facilitating communication and discovery of information related to topics
用户组是用于促进交流和发现与主题相关的信息的组
that have long term relevance to large groups of Kubernetes users.
对Kubernetes的大量用户具有长期相关性
They do not have ownership of parts of the Kubernetes code base.
他们不拥有Kubernetes基本代码的部分的所有权

User Groups详细介绍:
Some topics have long term relevance to large groups of Kubernetes users, but do not have clear deliverables or
ownership of parts of the Kubernetes code base. As such they are neither good fits for SIGs or Working Groups.
An example of such a topic might be continuous delivery to Kubernetes.

Though their central goal is not a deliverable piece of work, as contributing members of the community user groups are expected
to work with SIGs to either identify friction or usability issues that need to be addressed, or to provide or improve documentation in their area of expertise.
However these activities are covered under general code contributions to the relevant SIGs (e.g. SIG Docs) rather than as part of the user group.
These contributions are expected to be more incremental and ad-hoc versus the more targeted output of a user group.

User groups function as a centralized resource to facilitate communication and discovery of information related to the topic of the user group.
User groups should not undertake to produce any deliverable, instead they should form working groups under the auspices of some SIG for such work.
Likewise they shouldn't take ownership of anything in the Kubernetes process, as that is a role for SIGs. All user group chairs,
and others that hold leadership positions within a user group must be community members.

See user group governance for more details about forming and disbanding User Groups.

To facilitate discoverability and engagement, user groups are documented in sigs.yaml

 

See the full governance doc for more details on these groups.
有关这些组的更多详细信息,请参阅full governance doc(完整的治理)文档。

A SIG can have its own policy for contribution, described in a README or CONTRIBUTING file in the SIG folder in this repo (e.g. sig-cli/CONTRIBUTING.md), and its own mailing list, slack channel, etc.
SIG可以有自己的贡献策略,如本repo中SIG文件夹中的自述文件或贡献文件(如sig-cli/CONTRIBUTING.md)中所述,以及自己的邮件列表、slack channel等。

If you want to edit details about a SIG (e.g. its weekly meeting time or its leads), please follow these instructions that detail how our docs are auto-generated.
如果您想编辑SIG的详细信息(如每周会议时间或潜在客户),请按照以下说明操作,详细说明我们的文档是如何自动生成的。

Learn to Build(学习构建)

Links in contributors/devel/README.md lead to many relevant technical topics.
链接 contributors/devel/README.md (贡献者/开发人员/自述文件中)引导许多相关的技术主题。

Contribute(贡献)

A first step to contributing is to pick from the list of kubernetes SIGs. Start attending SIG meetings, join the slack channel and subscribe to the mailing list. SIGs will often have a set of "help wanted" issues that can help new contributors get involved.
做出贡献的第一步是从list of kubernetes SIGs中选择。开始参加SIG会议,加入slack频道并订阅邮件列表。SIG通常会有一系列“需要帮助”的问题,可以帮助新的贡献者参与进来。

The Contributor Guide provides detailed instruction on how to get your ideas and bug fixes seen and accepted, including:
Contributor Guide(《贡献者指南》)提供了关于如何让您的想法和bug修复被看到和接受的详细说明,包括:

  1. How to file an issue
  2. How to find something to work on
  3. How to open a pull request

Membership(成员)

We encourage all contributors to become members. We aim to grow an active, healthy community of contributors, reviewers, and code owners. Learn more about requirements and responsibilities of membership in our Community Membership page.
我们鼓励所有贡献者成为成员。我们的目标是发展一个由贡献者、审阅者和代码所有者组成的活跃、健康的社区。在我们的Community Membership 页面了解更多关于成员资格要求和责任的信息

 

 项目: (这里源码对应我用的是1.22版本,1.24以后就是containerd了,而比较早的版本话,可能有些项目还没有开发出来,所以找了一个比较高的版本)

sig小组名称 介绍
sig-api-machinery
https://github.com/kubernetes/community/tree/master/sig-api-machinery  页面介绍该sig组的情况和项目

API Machinery Special Interest Group 

Covers all aspects of API server, API registration and discovery, generic API CRUD semantics, admission control,
encoding/decoding, conversion, defaulting, persistence layer (etcd), OpenAPI, CustomResourceDefinition,
garbage collection, and client libraries.
The charter defines the scope and governance of the API Machinery Special Interest Group.
API Machinery是一个sig小组,该sig组涵盖了API服务器、API注册和发现、通用API CRUD语义、许可控制、编码/解码、
转换、默认、持久层(etcd)、OpenAPI、CustomResourceDefinition、垃圾收集和客户端库的所有方面。
charter 规定了API Machinery sig组的范围和治理。

API Machinery组有多个
subprojects包括
1.component-base

2.control-plane-features(控制平面上的一些功能)

3.kubernetes-clients

        E:\k8s源码\kubernetes-1.22.9\kubernetes-1.22.9\staging\src\k8s.io\client-go

4.server-api-aggregation

5.server-binaries

   6. server-crd

   7.server-frameworks

    8.server-sdk

    9.universal-machinery

    10.yaml
    kubernetes-sigs/yaml
           https://github.com/kubernetes-sigs/yaml
    kubenetes源码:
 
   E:\k8s源码\kubernetes-1.22.9\kubernetes-1.22.9\vendor\sigs.k8s.io\yaml
    E:\k8s源码\kubernetes-1.22.9\kubernetes-1.22.9\vendor\github.com\davecgh 
    E:\k8s源码\kubernetes-1.22.9\kubernetes-1.22.9\vendor\gopkg.in\yaml.v2

https://github.com/kubernetes/community/tree/master/sig-api-machinery

sig-apps  https://github.com/kubernetes/community/tree/master/sig-apps 页面介绍该sig组的情况和项目

Subprojects

application

Application metadata descriptor CRD

examples

execution-hook

kompose

workloads-api

The core workloads API, which is composed of the CronJob, DaemonSet, Deployment, Job, ReplicaSet, ReplicationController,
PodDisruptionBudget and StatefulSet kinds

sig-architecture  https://github.com/kubernetes/community/tree/master/sig-architecture  页面介绍该sig组的情况和项目

Architecture Special Interest Group

The Architecture SIG maintains and evolves the design principles of Kubernetes, and provides a consistent body of expertise necessary
to ensure architectural consistency over time. (相当于架构组)

The charter defines the scope and governance of the Architecture Special Interest Group.

负责跟几个团队沟通,包括api评审,bugs,测试,pr评审,设计提议,功能提议等等

Working Groups(工作组是临时组织)

The following working groups are sponsored by sig-architecture:

Subprojects

The following subprojects are owned by sig-architecture:

architecture-and-api-governance(架构和api的管控)

Described below

code-organization(代码组织)

Described below

conformance-definition(一致性的定义)

Described below

enhancements(增强)

Described below

production-readiness(生产准备状态)

Described below

sig-auth  
sig-autoscaling  
sig-cli https://github.com/kubernetes/community/tree/master/sig-cli 页面介绍该sig组的情况和项目

CLI Special Interest Group

Covers kubectl and related tools. We focus on the development and standardization of the CLI framework and its dependencies,
the establishment of conventions for writing CLI commands, POSIX compliance, and improving the command line tools
from a developer and devops user experience and usability perspective.
涉及kubectl 以及相关的cli工具

Subprojects

The following subprojects are owned by sig-cli:

cli-experimental

cli-sdk

cli-utils

krew

Plugin manager for kubectl.

krew-index

Centralized plugin index for krew.

krm-functions

kubectl

kui

Hybrid command-line/UI development experience for cloud-native development

kustomize

sig-cloud-provider  
sig-cluster-lifecycle  
sig-contributor-experience  
sig-docs  
sig-instrumentation  
sig-k8s-infra

https://github.com/kubernetes/community/tree/master/sig-k8s-infra  页面介绍该sig组的情况和项目
K8s Infra Special Interest Group

Code and configuration to manage Kubernetes project infrastructure, including various *.k8s.io sites
管理Kubernetes项目基础设施的代码和配置,包括各种*.k8s.io站点

具体的应用有:

sig-multicluster  
sig-network  https://github.com/kubernetes/community/tree/master/sig-network 

Network Special Interest Group

Covers networking in Kubernetes. 涉及kubenetes网络

The charter defines the scope and governance of the Network Special Interest Group.

Subprojects

The following subprojects are owned by sig-network:

cluster-proportional-autoscaler

cluster-proportional-vertical-autoscaler

external-dns

gateway-api

ingress

iptables-wrappers

kpng

kube-dns

  • Owners:

network-policy

pod-networking

Areas of Responsibility

SIG Network is responsible for the following Kubernetes subsystems:

  • DNS
  • Ingress
  • Network plugins / CNI
  • Network Policy
  • Services / kube-proxy

SIG Network is responsible for a number of issues and PRs. A summary can be found through GitHub search:

Documents

sig-node  
sig-release  
sig-scalability  
sig-scheduling  
sig-security  
sig-storage  
sig-testing  
sig-ui https://github.com/kubernetes/community/tree/master/sig-ui  页面介绍该sig组的情况和项目

dashboard:

sig-usability  
sig-windows  
ug-big-data  
ug-vmware-users  
wg-api-expression  
wg-batch  
wg-data-protection  
wg-iot-edge  
wg-multitenancy  
wg-policy  
wg-reliability  
wg-structured-logging  




https://github.com/kubernetes-sigs/

 

 

Kubernetes SIG相关工作组织的独立站点

项名称目 项目地址 sig维护组 介绍
sig-windows-tools https://github.com/kubernetes-sigs/sig-windows-tools    
descheduler https://github.com/kubernetes-sigs/descheduler    
kui https://github.com/kubernetes-sigs/kui  

A hybrid command-line/UI development experience for cloud-native development

 
sig-windows-dev-tools https://github.com/kubernetes-sigs/sig-windows-dev-tools  

This is a batteries included local development environment for Kubernetes on Windows.

 
 
vsphere-csi-driver https://github.com/kubernetes-sigs/vsphere-csi-driver  

vSphere storage Container Storage Interface (CSI) plugin

 
cluster-api-provider-openstack https://github.com/kubernetes-sigs/cluster-api-provider-openstack    
krew-index https://github.com/kubernetes-sigs/krew-index  

Plugin index for https://github.com/kubernetes-sigs/krew. This repo is for plugin maintainers.

 
 
azuredisk-csi-driver https://github.com/kubernetes-sigs/azuredisk-csi-driver  

Azure Disk CSI Driver

 
       


Files

posted @ 2023-02-15 11:20  jinzi  阅读(206)  评论(0编辑  收藏  举报