• 如何参与 Istio 社区及注意事项
    • 工作组
    • 代码规范
    • 开发指南
    • 设计文档
    • 社区角色划分
    • 各种功能的状态

    如何参与 Istio 社区及注意事项

    注意:本文档已失效,请浏览 Istio 官方文档。本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。

    本文讲述了如何参与 Istio 社区和进行 Istio 开发时需要注意的事项。

    工作组

    绝大多数复杂的开源项目都是以工作组的方式组织的,要想为 Istio 社区做贡献可以加入到以下的工作组(Working Group):

    • API Management
    • Config
    • Environments
    • Networking
    • Performance & Scalability
    • Policies & Telemetry
    • Security
    • Test & Release

    代码规范

    Istio 的代码规范沿用 CNCF 社区的代码规范。

    开发指南

    进行 Istio 开发之前需要做下面几件事情:

    • 配置基础环境,如 Kubernetes
    • 配置代码库、下载依赖和测试
    • 配置 CircleCI 集成环境
    • 编写参考文档
    • Git workflow 配置

    详见 Dev Guide wiki。

    设计文档

    所有的设计文档都保存在 Google Drive 中,其中包括以下资源:

    • Technical Oversight Committee:ToC管理的文档
    • Misc:一些杂项
    • Working Groups:最重要的部分,各个工作组相关的设计文档
    • Presentations:Istio 相关的演讲幻灯片,从这些文稿中可以快速了解 Istio
    • Logo:Istio logo
    • Eng:社区相关的维护文档

    社区角色划分

    根据对开发者和要求和贡献程度的不同,Istio 社区中包含以下角色:

    • Collaborator:非正式贡献者,偶尔贡献,任何人都可以成为该角色
    • Member:正式贡献者,经常贡献,必须有2个已有的 member 提名
    • Approver:老手,可以批准 member 的贡献
    • Lead:管理功能、项目和提议,必须由 ToC 提名
    • Administrator:管理员,管理和控制权限,必须由 ToC 提名
    • Vendor:贡献 Istio 项目的扩展

    详见 Istio Community Roles。

    各种功能的状态

    Istio 中的所有 feature 根据是否生产可用API兼容性性能维护策略分为三种状态:

    • Alpha:仅仅可以作为 demo,无法生产上使用,也没有性能保证,随时都可能不维护
    • Beta:可以在生产上使用了,也有版本化的 API 但是无法保证性能,保证三个月的维护
    • Stable:可以上生产而且还能保证性能,API 向后兼容,保证一年的维护

    Istio 的 feature 分为四大类:

    • 流量管理:各种协议的支持、路由规则配置、Ingress TLS 等
    • 可观察性:监控、日志、分布式追踪、服务依赖拓扑
    • 安全性:各种 checker 和安全性配置
    • Core:核心功能

    功能划分与各种功能的状态详情请见:https://istio.io/about/feature-stages.html