我如何从转储的配置中启动特使。由 /config_dump 生成

hao*_*hao 0 istio envoyproxy

当调试 envoy 时,我尝试从转储的配置文件运行,但无法弄清楚。

使用envoy admin api '/config_dump'转储配置。

curl -X POST http://127.0.0.1:15000/config_dump -o envoy.config
Run Code Online (Sandbox Code Playgroud)

但无法启动,出现错误:

envoy --config-path envoy.config
...
[2019-12-22 12:40:50.313][194][critical][main] [external/envoy/source/server/server.cc:98] error initializing configuration 'envoy.config': Protobuf message (type envoy.config.bootstrap.v2.Bootstrap reason INVALID_ARGUMENT:configs: Cannot find field.) has unknown fields
[2019-12-22 12:40:50.313][194][info][main] [external/envoy/source/server/server.cc:607] exiting Protobuf message (type envoy.config.bootstrap.v2.Bootstrap reason INVALID_ARGUMENT:configs: Cannot find field.) has unknown fields
Run Code Online (Sandbox Code Playgroud)

小智 5

转储的配置实际上并不打算用于启动服务器。您使用Bootstrap Config启动服务器,但如果仔细查看端点的输出/config_dump,它实际上包含 5 个或更多单独的配置转储。我的本地特使(Envoy 1.12.2)实际上显示了以下配置转储:

  • 引导配置
  • 集群
  • 听众
  • 范围内的路由
  • 路线
  • 秘密

您可以在配置转储文档中阅读有关输出结构的更多信息,但总结是它是一个完全不同的结构。

如果您确实获取输出/config_dump并将其精简为引导程序配置字段,那么您确实可以用它启动服务器。