istio中文手册
  • 前言
    • 序言
  • 概念原理
    • 什么是服务网格?
    • 后 Kubernetes 时代的应用网络
    • 服务网格架构
      • 服务网格的实现模式
      • Istio 架构解析
    • Sidecar 模式
      • Istio 中的 Sidecar 注入与流量劫持详解
      • Sidecar 的自动注入过程详解
    • 流量管理
      • 流量管理基础概念
      • Istio 中的 Sidecar 的流量路由详解
    • 安全
      • mTLS
  • 数据平面
    • Envoy 中的基本术语
    • Istio sidecar proxy 配置
    • Envoy proxy 配置详解
    • Envoy API
    • xDS 协议解析
      • LDS(监听器发现服务)
      • RDS(路由发现服务)
      • CDS(集群发现服务)
      • EDS(端点发现服务)
      • SDS(秘钥发现服务)
      • ADS(聚合发现服务)
      • HDS(健康发现服务)
    • Envoy 高级 API
      • MS(Metric 服务)
      • RLS(速率限制服务)
  • 安装指南
    • 快速开始
    • Istio 安装
    • 可观察性工具 kiali
  • 配置
    • 流量管理
      • VirtualService
      • DestinationRule
      • Gateway
      • EnvoyFilter
      • Sidecar
      • ServiceEntry
      • WorkloadEntry
      • WorkloadGroup
    • 安全
      • AuthorizationPolicy
      • RequestAuthentication
      • PeerAuthentication
      • JWTRule
  • Istio 生态
    • Istio 生态概述
    • Slime——基于 Istio 的智能服务网格管理器
  • 开发指南
    • Istio 开发环境配置
  • 实践案例
    • Bookinfo 示例
由 GitBook 提供支持
在本页
  • 统计
  • 参考

这有帮助吗?

  1. 数据平面
  2. xDS 协议解析

LDS(监听器发现服务)

上一页xDS 协议解析下一页RDS(路由发现服务)

最后更新于3年前

这有帮助吗?

Listener 发现服务(LDS)是一个可选的 API,Envoy 将调用它来动态获取 Listener。Envoy 将协调 API 响应,并根据需要添加、修改或删除已知的 Listener。

Listener 更新的语义如下:

  • 每个 Listener 必须有一个独特的。如果没有提供名称,Envoy 将创建一个 UUID。要动态更新的 Listener ,管理服务必须提供 Listener 的唯一名称。

  • 当一个 Listener 被添加,在参与连接处理之前,会先进入“预热”阶段。例如,如果 Listener 引用 配置,那么在 Listener 迁移到 “active” 之前,将会解析并提取该配置。

  • Listener 一旦创建,实际上就会保持不变。因此,更新 Listener 时,会创建一个全新的 Listener (使用相同的监听套接字)。新增加的 Listener 都会通过上面所描述的相同“预热”过程。

  • 当更新或删除 Listener 时,旧的 Listener 将被置于 “draining(逐出)” 状态,就像整个服务重新启动时一样。Listener 移除之后,该 Listener 所拥有的连接,经过一段时间优雅地关闭(如果可能的话)剩余的连接。逐出时间通过 选项设置。

注意

  • Envoy 从 1.9 版本开始已不再支持 v1 API。

统计

LDS 的统计树是以 listener_manager.lds 为根,统计如下:

名字
类型
描述

config_reload

Counter

因配置不同而导致配置重新加载的总次数

update_attempt

Counter

尝试调用配置加载 API 的总次数

update_success

Counter

调用配置加载 API 成功的总次数

update_failure

Counter

调用配置加载 API 因网络错误的失败总数

update_rejected

Counter

调用配置加载 API 因 schema/验证错误的失败总次数

version

Gauge

来自上次成功调用配置加载API的内容哈希

control_plane.connected_state

Gauge

布尔值,用来表示与管理服务器的连接状态,1表示已连接,0表示断开连接

参考

名字
RDS
--drain-time-s
v2 LDS API
Listener discovery service(LDS) - envoyproxy.io