- 日期 :2018年4月14日
- 分类 : Service Mesh
- 字数 :919 字
- 阅读大约需要 :4 分钟
点击查看目录
本文讲述了参与 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 中的所有 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、字节跳动等公司的服务网格专家及众多的终端用户,欢迎大家申请加入群聊 。