envoy 中文参考文档
  • 首页
  • 简介
    • Envoy是什么
    • 架构介绍
      • 术语
      • 线程模型
      • 监听器
      • L3/L4网络过滤器
      • HTTP连接管理
      • HTTP过滤器
      • HTTP路由
      • gRPC
      • WebSocket支持
      • 集群管理
      • 服务发现
      • 健康检查
      • 连接池
      • 负载均衡
      • 异常检测
      • 熔断
      • 全局限速
      • TLS
      • 统计
      • 运行时配置
      • 跟踪
      • TCP代理
      • 访问日志
      • MongoDB
      • DynamoDB
      • Redis
      • 热重启
      • 动态配置
      • 初始化
      • 逐出
      • 脚本
    • 部署
    • 业界对比
    • 获得帮助
    • 历史版本
  • 编译安装
    • 编译
    • 参考配置
    • 演示沙箱
      • 前端代理
      • Zipkin跟踪
      • Jaeger跟踪
      • gRPC桥接
      • 构建Envoy Docker镜像
    • 工具
  • 配置参考
    • V1 API 概述
    • V2 API 概述
    • 监听器
    • 网络过滤器
      • TLS客户端身份认证
      • Echo
      • Mongo代理
      • 速率限制
      • Redis代理
      • TCP代理
    • HTTP连接管理器
      • 路由匹配
      • 流量转移/分流
      • HTTP头部操作
      • HTTP头部清理
      • 统计
      • 运行时设置
      • 路由发现服务
    • HTTP过滤器
      • 缓存
      • CORS过滤器
      • 故障注入
      • DynamoDB
      • gRPC HTTP/1.1 桥接
      • gRPC-JSON 转码过滤器
      • gRPC-Web 过滤器
      • 健康检查
      • 速率限制
      • 路由
      • Lua
    • 集群管理
      • 统计
      • 运行时设置
      • 集群发现服务
      • 健康检查
      • 熔断
    • 访问日志
    • 限速服务
    • 运行时配置
    • 路由表检查工具
  • 运维管理
    • 命令行选项
    • 热重启
    • 管理接口
    • 统计概述
    • 运行时配置
    • 文件系统
  • 自定义扩展示例
  • V1 API参考
    • 监听器
    • 网络过滤器
      • TLS客户端身份认证
      • Echo
      • HTTP连接管理
      • Mongo代理
      • 速率限制
      • Redis代理
      • TCP代理
    • HTTP路由配置
      • 虚拟主机
      • 路由
      • 虚拟集群
      • 速率限制配置
      • 路由发现服务
    • HTTP过滤器
      • 缓存
      • CORS过滤器
      • DynamoDB
      • 故障注入
      • gRPC HTTP/1.1 桥接
      • gRPC-JSON 转码过滤器
      • gRPC-Web 过滤器
      • 健康检查
      • Lua
      • 速率限制
      • 路由
    • 集群管理
      • 集群
        • 健康检查
        • 熔断
        • TLS上下文
        • 异常值检测
        • HASH环负载均衡配置
      • 异常检测
      • 集群发现服务
      • 服务发现服务
    • 访问日志
    • 管理接口
    • 限速服务
    • 运行时配置
    • 跟踪
  • V2 API参考
    • 启动引导
    • 监听&监听发现
    • 集群&集群发现
    • 服务发现
    • 健康检查
    • HTTP路由管理&发现
    • TLS配置
    • 通用的类型
    • 网络地址
    • 协议选项
    • 发现API
    • 限速组件
    • 过滤器
      • 网络过滤器
        • TLS客户端身份认证
        • HTTP连接管理
        • Mongo代理
        • 速率限制
        • Redis代理
        • TCP代理
      • HTTP过滤器
        • 缓存
        • 故障注入
        • 健康检查
        • Lua
        • 速率限制
        • 路由
        • gRPC-JSON转码器
      • 常见访问日志类型
      • 常见故障注入类型
  • FAQ
    • Envoy有多快?
    • 我在哪里获得二进制文件?
    • 我如何设置SNI?
    • 如何设置区域感知路由?
    • 我如何设置Zipkin跟踪?
Powered by GitBook
On this page
  • 通用类型
  • Locality
  • Node
  • Endpoint
  • Metadata
  • RuntimeUInt32
  • HeaderValue
  • HeaderValueOption
  • ApiConfigSource
  • ApiConfigSource.ApiType (Enum)
  • AggregatedConfigSource
  • ConfigSource
  • TransportSocket
  • RoutingPriority (Enum)
  • RequestMethod (Enum)
  • 返回

Was this helpful?

  1. V2 API参考

通用的类型

PreviousTLS配置Next网络地址

Last updated 5 years ago

Was this helpful?

通用类型

Locality

标识Envoy运行所在的位置或上游主机运行所在的位置。

{
  "region": "...",
  "zone": "...",
  "sub_zone": "..."
}

Node

标识特定的Envoy实例。节点标识符将呈现给管理服务器,管理服务器可以使用该标识符来区分每个Envoy服务的配置。

{
  "id": "...",
  "cluster": "...",
  "metadata": "{...}",
  "locality": "{...}",
  "build_version": "..."
}

Endpoint

上游主机标识符

{
  "address": "{...}"
}
  • address

Metadata

元数据用于监听器的匹配场景,为路由、端口、过滤器链等提供了额外的输入。它的结构是从过滤器名称(反向DNS格式)到特定的过滤器元数据的映射。过滤器的元数据key/value将合并在连接并发生请求时处理,同一个key的更新值将覆盖旧值。

元数据的使用示例,在HTTP连接管理追加附加信息,将体现在envoy.http_connection_manager.access_log命名空间。

为了实现负载平衡,元数据提供了一种集群端口子集的方法。端口匹配关联的元数据对象,路由匹配关联的元数据对象。当前有一些定义的元数据用于此目的:

  • {"envoy.lb": {"canary": <bool> }} 这表明了一个端口的canary状态,并且用于头部(x-envoy-upstream-canary)和统计处理。

{
  "filter_metadata": "{...}"
}
  • filter_metadata

    (map) key是反向DNS过滤器名称,例如com.acme.widget。命名空间envoy.*保留给Envoy内置过滤器使用。

RuntimeUInt32

若没有指定时,则在运行时生成的uint32默认值。

{
  "default_value": "...",
  "runtime_key": "..."
}

HeaderValue

Header键值对。

{
  "key": "...",
  "value": "..."
}

HeaderValueOption

Header键值对追加控制选项。

{
  "header": "{...}",
  "append": "{...}"
}

ApiConfigSource

API配置源。这标识了Envoy将用来获取xDS的API类型和群集。

{
  "api_type": "...",
  "cluster_name": [],
  "refresh_delay": "{...}"
}

ApiConfigSource.ApiType (Enum)

可以通过REST API或gRPC获取。

  • REST_LEGACY (DEFAULT) REST-JSON对应于传统v1 API。

  • REST REST-JSON v2 API,将使用v2 protos规范的JSON编码。

  • GRPC gRPC v2 API。

AggregatedConfigSource

聚合发现服务(ADS)选项。这目前是空的,但在ConfigSource中设置时可以用来指定要使用ADS。

{}

ConfigSource

监听器,集群,路由,端口等配置可以从文件系统或xDS API源获取。使用inotify监视文件系统配置以进行更新。

{
  "path": "...",
  "api_config_source": "{...}",
  "ads": "{...}"
}
  • 注意:必须选择path,api_config_source,ads其中一个选项配置。

TransportSocket

监听器和集群中传输套接字的配置。如果配置为空,则将根据tls_context的平台和现有的来选择默认的传输套接字实现和配置。

{
  "name": "...",
  "config": "{...}"
}

RoutingPriority (Enum)

Envoy在路由和虚拟集群级别,都支持上游优先级路由。当前的实现是针对每个优先级别,使用不同的连接池和断路设置。这意味着即使对于HTTP/2请求,两个物理连接也将被用于上游主机。将来,Envoy可能会支持真正的HTTP/2优先级,而不是单个上行连接。

  • DEFAULT (DEFAULT)

  • HIGH

RequestMethod (Enum)

HTTP请求方法

  • METHOD_UNSPECIFIED

    (DEFAULT)

  • GET

  • HEAD

  • POST

  • PUT

  • DELETE

  • CONNECT

  • OPTIONS

  • TRACE

返回

region () 当前属于哪个区域

zone () AWS上的可用区域(AZ),GCP区域等

sub_zone () 当用于上游主机的位置时,该字段进一步将区域分成更小的子区域,从而可以独立地进行负载平衡。

id () Envoy节点的标识符。

cluster () Envoy节点所属的群集。

metadata () 所在节点的扩展元数据,Envoy将直接传递给管理服务器。

locality () 指定Envoy实例的运行位置。

build_version () 在金丝雀(灰度发布)期间管理服务器,知道哪个版本的Envoy正在进行测试。这将由Envoy在管理服务器RPC中设置。

()

default_value () 默认值,运行时没有可用的值时。

runtime_key (, REQUIRED) 运行时,通过key以获取相应的value。如果定义,则使用此值。

key () Header Key.

value () Header Value.

HTTP访问日志记录的可以在此处应用,但未知的Header值将替换为空字符串而不是-。

header () 控制选项所应用的Header键值对。

append () 是否添加的开关,如果为true(默认值),则该值将附加到现有值。

api_type () API类型。

cluster_name (, REQUIRED) 可以提供多个群集名称。如果定义了大于1个集群,如果发生任何类型的故障,则将循环切换。

refresh_delay () 对于REST API,连续轮询之间的间隔。

path () 配置从文件系统路径来源来更新配置。

api_config_source () API配置源。

ads () 配置使用ADS将做为配置源。将使用配置中的ADS API配置源。

name (, REQUIRED) 要实例化的传输套接字的名称。该名称必须匹配支持的传输套接字实现。

config () 具体将要被实例化的传输套接字配置。请参阅实现以获取更多信息。

Locality proto
string
string
string
Node proto
string
string
Struct
string
Endpoint proto
Address
Metadata proto
RuntimeUInt32 proto
uint32
string
HeaderValue proto
string
string
格式说明符
HeaderValueOption proto
BoolValue
ApiConfigSource proto
string
Duration
ApiConfigSource.ApiType proto
AggregatedConfigSource proto
ConfigSource proto
TransportSocket proto
string
Struct
支持的传输套接字
RoutingPriority proto
RequestMethod proto
上一级
首页目录
Locality
Node
Endpoint
Metadata
RuntimeUInt32
HeaderValue
HeaderValueOption
ApiConfigSource
ApiConfigSource.ApiType (Enum)
AggregatedConfigSource
ConfigSource
TransportSocket
RoutingPriority (Enum)
RequestMethod (Enum)
Locality
HeaderValue
ApiConfigSource.ApiType
string
ApiConfigSource
引导程序
AggregatedConfigSource