gpt4 book ai didi

docker - envoy v3 关于 typed_config http 连接管理器的非法映射值

转载 作者:行者123 更新时间:2023-12-04 11:22:58 25 4
gpt4 key购买 nike

我正在关注这个 tutorial ,以便将 gRPC 服务转码为 HTTP。
但是,它不是最新的,因为它使用 envoy API v2,但这不再可用(我收到一个错误说这个),他们现在使用 v3。因此,语法略有不同。
对于 v2,此代码段没有语法错误,但是,它引发了一个错误,指出 V2 不再可用(因此最终无法使用):

 - name: envoy.http_connection_manager
config:
...
根据这个 example ,在 envoy.yml 中使用 HTTP 连接管理器(符合 v3 标准)的方法是这样做配置文件(我们明确说明我们使用的是 v3):
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager

但是,我收到了 Illegal map value指向 "@type" 的错误: error initializing configuration '/etc/envoy/envoy.yaml': yaml-cpp: error at line 15, column 17: illegal map value 我也尝试过强制使节使用 V2,带有标志 --bootstrap-version 2 ,但是一直说v2不再使用,所以现在使用envoy的唯一方法就是使用v3。
你遇到过同样的问题吗?
我的目标只是将 rGPC 服务转码为 HTTP。
如果您需要更多 Material 来解决问题,我将整个项目上传到 GitHub

最佳答案

是的,它有点痛苦。
有在线特使config checker这有助于确定哪些版本放弃了向后兼容性。
您已从旧版 config 正确切换至 typed_config数据。
但是,您似乎无意中在最新配置(第 15 行)中包含了一个选项卡,这会导致 illegal map value .
您还需要迁移 clusters/hosts部分到load_assignments像这样:

load_assignment:
cluster_name: grpc-backend-services
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 53000
当前的特使文档中有一个很好的例子: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter

关于docker - envoy v3 关于 typed_config http 连接管理器的非法映射值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67636057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com