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

Envoy configuration. Possible values of @type keys

我正在尝试了解 @type 键的使用方式以及从何处获取其值。

例如,遵循文档中 front-proxy 的简单示例。

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

我不完全明白这些值是从哪里来的

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

但是去 API link 文档中 HttpConnectionManager 似乎类型不同 [extensions.filters.network.http_connection_manager.v3.HttpConnectionManager proto]

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

嗯,这个答案不是很好 - 但我认为这主要是因为没有一个很好的单一来源来获取这些信息。

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

对于此处未记录的那些,您可以将自己的方式解析到代码中并找到类型,例如again for the aws filter

Envoy 的一些其他需要引用这些类型的开放项目经常持有 well known 类型的定义。您可以将其用作参考,请注意它们可能不是 100% 最新的。

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