Istio 社区介绍与社区参与注意事项

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

版权声明
本文为 Jimmy Song 原创。转载请注明来源: https://jimmysong.io/blog/istio-community-tips/
查看本文大纲

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

工作组

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

代码规范

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/latest/about/feature-stages/

云原生社区 Istio 讨论组

云原生社区专门成立里 Istio SIG(微信讨论群),将原来 ServiceMesher 中关注 Istio 的人群专门集中到一个讨论组中,其中包含了百度、阿里巴巴、腾讯、网易、Tetrate、Intel、字节跳动等公司的服务网格专家及众多的终端用户,欢迎大家申请加入群聊

最后更新于 2024/11/21