Skip to content

Latest commit

 

History

History
319 lines (195 loc) · 3.84 KB

istio-knowledge-map.md

File metadata and controls

319 lines (195 loc) · 3.84 KB

Istio 知识图谱

Istio 介绍

Istio 和服务网格

  • 概念原理

    • Istio

      • Istio 概述
      • 架构解析
    • 服务网格

      • 什么是服务网格
      • 服务网格的设计模式
  • Istio能带来什么

核心功能

  • 流量管理
  • 安全
  • 可观察性
  • 平台支持
  • 集成和定制

架构

  • Envoy

    • API

      • MS(Metric 服务)
      • RLS(速率限制服务)
    • xDS

      • ADS
      • RDS
      • EDS
      • CDS
      • LDS
      • SDS
      • HDS
    • 扩展 Envoy

  • Mixer

    • Policy
    • Telemetry
  • Pilot

  • Citadel

  • Galley

  • Egress gateway

  • Ingress gateway

  • Sidecar injector

    • Mutable webhook

    • Sidecar 注入流程

    • 透明拦截

      • iptables
      • eBPF
    • Go template

    • Sidecar 的 ConfigMap 配置

      • istio
      • istio-sidecar-injector

设计目标

Istio 与同类产品对比

  • Istio vs Spring Cloud
  • Istio vs Linkerd2

策略与遥测

Mixer

  • 前置检查

  • 配额管理

  • 遥测报告

适配器

可靠性和延迟

属性

  • 属性词汇
  • 属性表达式

缓存机制(Mixer Cache)

配置模型

处理器(Handler)

实例(Instance)

规则(Rule)

实战

  • 使用Denier 适配器实现白黑名单
  • 启用速率限制

安全

高级架构

Istio 身份

  • Istio 安全与 SPIFFE

PKI

  • Kubernetes 方案
  • 本地机器方案
  • 代理程序代理节点(开发中)

认证

  • 双向 TLS 认证

    • 什么是 TLS?
    • 安全命名
  • 认证架构

  • 认证策略

    • 策略存储范围
    • 目标选择器
    • 传输认证
    • 来源身份认证
    • 主认证绑定
  • 更新认证策略

授权和鉴权

  • 授权架构

  • 授权许可模式

  • 启用授权

  • 授权策略

    • ServiceRole
    • ServiceRoleBinding
  • 使用其他授权机制

多集群部署

多集群服务网格

  • Istio-remote
  • 多控制平面拓扑
  • 单一控制平面拓扑

性能与可伸缩性

微基准测试

  • 什么是基准测试?

测试场景

端到端综合基准测试

现实应用程序基准测试

自动化测试

可伸缩性和规模调整指南

日志监控和跟踪

Envoy 和 Mixer

分布式跟踪

  • OpenTracing

  • Jaeger

  • Zipkin

  • Kiali

监控

  • Prometheus
  • 配置 Metrics 收集
  • 获取 TCP 服务指标
  • Grafana 可视化图表展示
  • 生成服务图

日志收集

  • Fluentd
  • 配置日志
  • 安装 Fluentd/Elasticsearch/Kibana 套件

流量管理

Pilot 和 Envoy

请求路由

  • 服务之间的通讯
  • Ingress 和 Egress

服务发现和负载均衡

故障处理

  • 微调
  • FAQ

故障注入

  • 延时

  • 错误

流量转移

熔断

镜像

规则配置

  • 设置请求超时
  • A/B 测试
  • 灰度发布(金丝雀发布)
  • 蓝绿发布

Virtual Service

  • 定义
  • 规则的目标描述
  • HTTP 路由
  • TCP 路由
  • TLS 路由
  • 在服务之间分拆流量
  • 超时和重试
  • 错误注入
  • 跳转和重写
  • 跨域资源共享
  • 镜像流量
  • 添加请求头
  • 条件规则
  • 多重匹配条件
  • 优先级

DestinationRule

  • 定义
  • 负载均衡
  • 连接池
  • 健康检查
  • 断路器
  • TLS
  • 规则评估

ServiceEntry

  • 定义

Gateway

  • 定义
  • Gateway vs kubernetes ingress
  • Gateway 原理及实现

最佳实践

部署

  • Istio Dashboard
  • 升级 Istio
  • Helm 定制部署 Istio

示例

  • 一个请求的完整过程分析

升级维护

  • 升级操作步骤
  • 升级注意事项
  • 无缝升级

故障排查

  • 故障排查指南

  • 常见故障

    • no healthy upstream
    • upstream connect error or disconnect/reset before headers