Istio
2020-01-06 11:22:53 0 举报
AI智能生成
istio思维导图 server mesh
作者其他创作
大纲/内容
istio是什么?
什么是服务网格?
应用程序的微服务网络以及应用之间的交互
为什么要使用Istio?
提供一种简单的方式来为已部署的服务建立网络
具有负载均衡、服务间认证、监控等功能
HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。
通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制。
可插入的策略层和配置 API,支持访问控制、速率限制和配额。
对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟踪。
通过强大的基于身份的验证和授权,在集群中实现安全的服务间通信
核心功能
流量管理
安全
可观察性
平台支持
Istio 是独立于平台的
支持在 Kubernetes 上部署的服务
支持使用 Consul 注册的服务
支持在虚拟机上部署的服务
集成和定制
与现有的 ACL、日志、监控、配额、审计等方案集成
架构
Envoy(智能代理)
动态服务发现
负载均衡
TLS 终止
HTTP/2 & gRPC 代理
熔断器
健康检查、基于百分比流量拆分的灰度发布
故障注入
丰富的度量指标
作用
用于调解服务网格中所有服务的所有入站和出站流量
Mixer
负责在服务网格上执行访问控制和使用策略,并从 Envoy 代理和其他服务收集遥测数据
Citadel
提供强大的服务间和最终用户身份验证
Pilot
为 Envoy sidecar 提供服务发现功能
为智能路由(例如 A/B 测试、金丝雀部署等)和弹性(超时、重试、熔断器等)提供流量管理功能
Galley
设计目标
最大化透明度
增量
可移植性
策略一致性
高级架构组件
堡垒 用于密钥和证书管理
Sidecar 和周边代理 实现客户端和服务器之间的安全通信
Pilot 将授权策略和安全命名信息分发给代理
Mixer 管理授权和审计
Istio身份
PKI
kubernetes方案
Citadel 监视 Kubernetes apiserver,为每个现有和新的服务帐户创建 SPIFFE 证书和密钥对。 Citadel 将证书和密钥对存储为 Kubernetes secrets。
创建 pod 时,Kubernetes 会根据其服务帐户通过Kubernetes secret volume将证书和密钥对安装到 pod。
Citadel 监视每个证书的生命周期,并通过重写 Kubernetes 秘密自动轮换证书。
Pilot 生成安全命名信息,该信息定义了哪些服务帐户可以运行某个服务。 Pilot 然后将安全命名信息传递给sidecar特使
本地机器方案
代理程序代理节点
认证
双向TLS认证
安全命名
认证架构
认证策略
策略存储范围
目标选择器
传输认证
来源身份认证
主认证绑定
更新认证策略
两种类型的身份验证
传输身份验证
授权和鉴权
授权架构
授权许可模式
启用授权
授权策略
其他授权机制
Pilot和Envoy
请求路由
服务之间的通讯
Ingress和Egress
服务发现和负载均衡
Istio 目前仅允许三种负载平衡模式
轮循
随机
带权重的最少请求
故障处理
超时
具备超时预算,并能够在重试之间进行可变抖动(间隔)的有限重试功能
并发连接数和上游服务请求数限制
对负载均衡池中的每个成员进行主动(定期)运行健康检查
细粒度熔断器(被动健康检查)- 适用于负载均衡池中的每个实例
延迟
计时故障,模拟网络延迟上升或上游服务超载的情况
中断
模拟上游服务的崩溃故障。中断通常以 HTTP 错误代码或 TCP 连接失败的形式表现
规则配置
四种流量管理配置资源
Virtual Service
规则的目标描述
根据来源或 Header 制定规则
1. 根据特定用户进行限定
2. 根据调用方的特定版本进行限定
根据 HTTP Header 选择规则
在服务之间分析流量
缺省策略是 round-robin
超时和重试
缺省情况下,HTTP 请求的超时设置为 15 秒
错误注入
优先级
列表中的第一条规则具有最高优先级
条件规则
多重匹配条件
Destination Rule
断路器
规则评估
Service Entry
Gateway
只配置四层到六层的功能
策略与遥测
适配器
可靠性和延迟
属性
属性词汇
子主题 1
属性表达式
配置模型
处理器
实例
规则
性能与可伸缩性
微基准测试
端到端综合基准测试
现实应用程序基准测试
自动化测试
可伸缩性和规模调整指南
Kubernetes下Istio安装
安装方式
使用 Google Kubernetes Engine
使用 Helm 进行安装(推荐)
使用 Ansible 安装
Istio
0 条评论
下一页