特使配置。@type 键的可能值

use*_*480 0 envoyproxy

我试图了解如何使用 @type 键以及在哪里可以获取它的值。

例如,遵循文档中前端代理的简单示例。

在配置中设置侦听器,然后设置过滤器链。在 typed_config 中,我知道需要“@type”键来指定我们正在使用的过滤器类型。

我不完全理解这些值从何而来

在前面提到的情况下,配置使用: "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager

但是转到 HttpConnectionManager 文档中的 API 链接,类型似乎不同[extensions.filters.network.http_connection_manager.v3.HttpConnectionManager proto]

对我来说,这似乎是 v2 -> v3 的更改,并且文档示例已完全更新。但是有没有什么地方可以解释这些类型的来源以及哪些值是有效的?

小智 5

嗯,这个答案不太好 - 但我认为这很大程度上是因为这些信息没有一个很好的单一来源。

每个都是any 类型typed_config的 protobuf 消息,它只是任意序列化消息。Envoy 使用该类型将其与过滤器的已知 protobuf 定义进行匹配。在某些情况下,可以在文档中找到每种类型的具体类型:

对于那些没有在那里记录的人,您可以解析代码并找到类型,例如再次针对 aws 过滤器

Envoy 的其他一些需要引用这些类型的开放项目经常包含众所周知类型的定义。您可以将其用作参考,但请注意它们可能不是 100% 最新的。

抱歉,没有更统一的位置,希望这会有所帮助。