istio/istio
GitHub: istio/istio
业界领先的开源服务网格平台,为微服务架构提供透明的流量管理、安全通信和全链路可观察性能力。
Stars: 38068 | Forks: 8257
# Istio
[](https://bestpractices.coreinfrastructure.org/projects/1395)
[](https://goreportcard.com/report/github.com/istio/istio)
[](https://godoc.org/istio.io/istio)
Istio 是一个开源的 service mesh,可透明地分层到现有的分布式应用程序上。Istio 的强大功能提供了一种统一且更有效的方法来保护、连接和监控服务。Istio 是实现负载均衡、服务间身份验证和监控的途径——只需对服务代码进行少量修改甚至无需修改。
- 有关如何使用 Istio 的深入信息,请访问 [istio.io](https://istio.io)
- 要提出问题并获得社区帮助,请访问 [GitHub Discussions](https://github.com/istio/istio/discussions)
- 要了解如何参与我们的整体社区,请访问 [我们的社区页面](https://istio.io/about/community)
在本 README 中:
- [简介](#introduction)
- [代码库](#repositories)
- [Issue 管理](#issue-management)
此外,这里还有一些您可能希望阅读的其他文档:
- [Istio Community](https://github.com/istio/community#istio-community) - 描述如何参与和贡献 Istio 项目
- [Istio Developer's Guide](https://github.com/istio/istio/wiki/Preparing-for-Development) - 解释如何设置和使用 Istio 开发环境
- [Project Conventions](https://github.com/istio/istio/wiki/Development-Conventions) - 描述我们在代码库中使用的约定
- [Creating Fast and Lean Code](https://github.com/istio/istio/wiki/Writing-Fast-and-Lean-Code) - 针对代码库的性能导向建议和指南
您会在我们的 [Wiki](https://github.com/istio/istio/wiki) 上找到许多其他有用的文档。
## 简介
[Istio](https://istio.io/latest/docs/concepts/what-is-istio/) 是一个开放平台,用于提供统一的方法来[集成
微服务](https://istio.io/latest/docs/examples/microservices-istio/)、管理跨微服务的[流量](https://istio.io/latest/docs/concepts/traffic-management/)、执行策略
以及聚合遥测数据。Istio 的控制平面在底层集群管理平台(如 Kubernetes)之上提供了抽象层。
Istio 由以下组件组成:
- **Envoy** - 每个微服务的 Sidecar 代理,用于处理集群内服务之间以及服务到外部服务的入口/出口流量。这些代理形成了一个_安全的微服务网格_,提供丰富的功能集,例如发现、丰富的第 7 层路由、熔断器、策略执行和遥测记录/报告功能。
* **Ztunnel** - 一个用 Rust 编写的轻量级数据平面代理,用于 Ambient mesh 模式,为没有 sidecar 代理的工作负载提供安全连接和可观察性。
- **Istiod** - Istio 控制平面。它提供服务发现、配置和证书管理。
## 代码库
Istio 项目分为几个 GitHub 代码库:
- [istio/api](https://github.com/istio/api)。此代码库定义了 Istio 平台的组件级 API 和通用配置格式。
- [istio/community](https://github.com/istio/community)。此代码库包含有关 Istio 社区的信息,包括管理 Istio 开源项目的各种文档。
- [istio/istio](README.md)。这是主代码库。它托管了 Istio 的核心组件、安装构件和示例程序。其中包括:
- [istioctl](istioctl/)。此目录包含 [_istioctl_](https://istio.io/latest/docs/reference/commands/istioctl/) 命令行工具的代码。
- [pilot](pilot/)。此目录包含特定于平台的代码,用于填充[抽象服务模型](https://istio.io/docs/concepts/traffic-management/#pilot),在应用程序拓扑更改时动态重新配置代理,以及将[路由规则](https://istio.io/latest/docs/reference/config/networking/)转换为代理特定的配置。
- [security](security/)。此目录包含 [security](https://istio.io/latest/docs/concepts/security/) 相关代码。
- [istio/proxy](https://github.com/istio/proxy)。Istio 代理包含对 [Envoy proxy](https://github.com/envoyproxy/envoy) 的扩展(以 Envoy 过滤器的形式),支持身份验证、授权和遥测收集。
- [istio/ztunnel](https://github.com/istio/ztunnel)。该代码库包含 Ambient mesh 的 ztunnel 组件的 Rust 实现。
- [istio/client-go](https://github.com/istio/client-go)。此代码库定义了自动生成的 Kubernetes 客户端,用于以编程方式与 Istio 资源交互。
## Issue 管理
我们使用 GitHub 跟踪我们所有的错误和功能请求。我们跟踪的每个 Issue 都有各种元数据:
- **Epic**。Epic 代表 Istio 整体的一个功能区域。Epic 的范围相当广泛,基本上是产品级别的事物。每个 Issue 最终都属于一个 Epic。
- **Milestone**。每个 Issue 都被分配一个 Milestone。即 0.1、0.2、... 或 'Nebulous Future'。Milestone 指示我们认为该 Issue 应该被解决的时间。
- **Priority**。每个 Issue 都有一个优先级,由 [Prioritization](https://github.com/orgs/istio/projects/6) 项目中的列表示。优先级可以是 P0、P1、P2 或 >P2 之一。优先级指示在 Milestone 内解决该 Issue 的重要性。P0 表示如果 Issue 未解决,则不能视为已完成该 Milestone。
Istio is a Cloud Native Computing Foundation project.
标签:API网关, API集成, CNCF, Envoy, EVTX分析, EVTX分析, Go, Istio, JSONLines, NIDS, Python工具, Ruby工具, web渗透, 分布式系统, 可观测性, 可视化界面, 响应大小分析, 子域名突变, 容器化, 日志审计, 服务发现, 服务治理, 服务网格, 流量管理, 混沌工程, 网络安全, 自定义请求头, 负载均衡, 隐私保护, 零信任