Istio
用于连接、管理和保护微服务的开放平台。
- 有关如何使用Istio的详细信息,请访问 istio.io
- 要提出问题并获得我们社区的帮助,请访问 discuss.istio.io
- 要了解如何参与我们的整个社区,请访问 our community page
在本自述文件中::
此外,您可能还需要阅读以下其他文件:
- Istio Community - 描述如何参与Istio项目并为该项目做出贡献
- Istio Developer's Guide - 解释如何设置和使用Istio开发环境
- Project Conventions - 描述我们在代码库中使用的约定
- Creating Fast and Lean Code - 针对代码库的面向性能的建议和准则
You'll find many other useful documents on our Wiki.
介绍
Istio 是一个开放平台,用于提供统一的方式来 integrate
microservices, 管理 traffic flow 跨微服务执行策略
以及收集遥测数据。Istio的控制平面提供了一个抽象
层覆盖底层集群管理平台,如Kubernetes。
Istio由以下部分组成:
-
Envoy - 侧卡代理每个微服务来处理入口/出口流量
集群中的服务之间以及从一个服务到外部的服务之间
服务。代理形成了一个安全的微服务网格,提供了一个丰富的
功能集如发现,富7层路由,断路器,
政策执行和遥测记录/报告
功能。注意:服务网格不是一个覆盖网络。
它简化并增强了应用程序中的微服务如何通过底层平台提供的网络相互通信。 -
Istiod - Istio的控制层. 它提供服务发现、配置和证书管理。它由以下子组件组成:
Pilot - 负责在运行时配置代理.
Citadel - 负责证书的发放和轮换.
Galley - 负责Istio内配置的验证、吸收、聚合、转换和分发.
Operator - 该组件为操作Istio服务网格提供了用户友好的选项.
Repositories
这个 Istio 项目被划分为几个GitHub存储库:
istio/api. 这个存储库定义Istio平台的组件级api和通用配置格式.
istio/community. 这个库包含关于Istio社区的信息,包括各种管理文档Istio开源项目
-
istio/istio. 这是主代码存储库。它宿主Istio核心组件、安装工件和示例程序. 它包括:
operator. 这个目录包含独立的代码Istio Operator.
pilot. 这个目录包含用于填充的特定于平台的代码abstract service model, 动态地重新配置代理当应用程序拓扑改变时,以及转换[routing rules(https://istio.io/latest/docs/reference/config/networking/) into proxy specific configuration.
security.这个目录包含 security 相关的代码,包括Citadel(代理认证机构)、Citadel代理等.
istio/proxy. Istio代理包含扩展 Envoy proxy (以特使过滤器的形式),支持身份验证、授权和遥测采集。
Issue management 问题管理我们使用GitHub和ZenHub来跟踪我们所有的bug和特性请求。我们跟踪的每个问题都有各种元数据:
Epic epic 代表整个Istio的功能区域。 epic的范围很广,基本上是产品级的东西。每个问题最终都是epic的一部分
Milestone. 每个问题都有一个里程碑。 这是0.1、0.2,...或“模糊未来”。 里程碑指示我们何时认为该问题应得到解决
Priority/Pipeline. 每个问题都有一个优先级,由GitHub中的Pipeline字段表示。 优先级可以是以下之一P0,P1,P2或> P2。 优先级指示在里程碑内解决该问题的重要性。 P0表示如果问题未解决,则不能认为已达到里程碑。
要查看ZenHub上的项目板,我们建议下载ZenHub browser extension.
请注意,目前仅Firefox和Chrome支持.
我们不注释发布的问题; 使用里程碑代替。 我们根本不使用GitHub项目,
我们的组织已禁用支持。