我正在关注本教程,以便将 gRPC 服务转码为 HTTP。但是,它不是最新的,因为它使用 envoy API v2,但这不再可用(我收到一个错误说这个),他们现在使用 v3。因此,语法略有不同。
对于 v2,此代码段没有语法错误,但是,它引发了一个错误,指出 V2 不再可用(因此最终无法使用):
- name: envoy.http_connection_manager
config:
...
Run Code Online (Sandbox Code Playgroud)
根据这个例子,有一个 HTTP 连接管理器(它是 v3 兼容的)的方法是在envoy.yml配置文件中这样做(我们明确地告诉我们我们正在使用 v3):
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个Illegal map value错误指向"@type":
error initializing configuration '/etc/envoy/envoy.yaml': yaml-cpp: error at line 15, column 17: illegal map value
我也试过强制 envoy 使用 V2,带有 flag --bootstrap-version 2,但是一直说 v2 不再使用,所以现在使用 envoy 的唯一方法就是使用 v3。你遇到过同样的问题吗?我的目标只是将 rGPC 服务转码为 HTTP。
如果你需要更多的材料来解决问题,我把整个项目上传到了GitHub