办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 61|回复: 0

1.Istio入门篇

[复制链接]

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-3-3 16:26:57 | 显示全部楼层 |阅读模式
1.什么是 Istio


  • 官方定义:它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式 应用中。它也是一个平台,可以与任何日志、遥测和策略系统进行集成。Istio 多 样化的特性让你能够成功且高效地运行微服务架构,并提供保护、连接和监控微 服务的统一方法。
  • 名字来源
  • Service Mesh 的新形态:增加控制平面
2.Istio 的核心功能



3.流量控制


  • Istio 的流量控制能力
# 主要功能
路由、流量转移
流量进出
网络弹性能力
测试相关

# 核心资源
虚拟服务(Virtual Service)
目标规则(Destination Rule)
网关(Gateway)
服务入口(Service Entry)
Sidecar

  • 虚拟服务(Virtual Service)
将流量路由到给定目标地址
请求地址与真实的工作负载解耦
包含一组路由规则
通常和目标规则(Destination Rule)成对出现
丰富的路由匹配规则



  • 目标规则(Destination Rule)
定义虚拟服务路由目标地址的真实地址,即子集(subset)
设置负载均衡的方式
   随机
   权重
   最少请求数



  • 网关(Gateway)
管理进出网格的流量
处在网格边界



  • 服务入口(Service Entry)

把外部服务注册到网格中  
功能:
  • 为外部目标转发请求
  • 添加超时重试等策略
  • 扩展网格


  • Sideca
调整 Envoy 代理接管的端口和协议
限制 Envoy 代理可访问的服务


  • 网络弹性和测试
# 弹性能力
• 超时
• 重试
• 熔断

# 测试能力
• 故障注入
• 流量镜像
4.可观察性


  • 什么是可观察性
可观察性≠监控
从开发者的角度探究系统的状态
组成:指标、日志、追踪



  • 指标(Metrics)
# 以聚合的方式监控和理解系统行为
# Istio 中的指标分类:
• 代理级别的指标(Proxy-level)
• 服务级别的指标(Service-level)
• 控制平面指标(Control plane)
代理级别的指标(Proxy-level)
收集目标:Sidecar 代理 资源粒度上的网格监控 容许指定收集的代理(针对性的调试)
​           


服务级别的指标
用于监控服务通信 四个基本的服务监控需求:延迟、流量、错误、饱和
默认指标导出到 Prometheus(可自定义和更改) 可根据需求开启或关闭


控制平面指标
对自身组件行为的监控
用于了解网格的健康情况

  • 访问日志(Access logs)
# 通过应用产生的事件来了解系统
# 包括了完整的元数据信息(目标、源)
# 生成位置可选(本地、远端,如 filebeat)
# 日志内容
• 应用日志
• Envoy 日志 $ kubectl logs -l app=demo -c istio-proxy

  • 分布式追踪(Distributed tracing)
通过追踪请求,了解服务的调用关系
常用于调用链的问题排查、性能分析等
支持多种追踪系统(Jeager、Zipkin、Datadog)
5.安全


  • Istio 的安全架构



  • 认证
认证方式
策略存储
支持兼容模式



  • 认证方式
# 对等认证(Peer authentication)
• 用于服务间身份认证
• Mutual TLS(mTLS)
# 请求认证(Request authentication)
• 用于终端用户身份认证
• JSON Web Token(JWT)

  • 认证策略
#  配置方式
# 配置生效范围
• 网格
• 命名空间
• 工作负载(服务)

# 策略的更新

apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
  name: "example-peer-policy"
  namespace: "foo"
spec:
  selector:
    matchLabels:
      app: reviews
    mtls:
      mode: STRICT

  • 授权
授权级别
策略分发
授权引擎
无需显式启用



  • 授权策略
# 通过创建 AuthorizationPolicy 实现
# 组成部分
• 选择器(Selector)
• 行为(Action)
• 规则列表(Rules)
     来源(from)
     操作(to)
     匹配条件(when)



  • 授权策略的设置

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-3-21 16:52 , Processed in 0.082859 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

快速回复 返回顶部 返回列表