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

时间:2019-12-22 12:57:43

标签: istio envoyproxy

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

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

curl -X POST http://127.0.0.1:15000/config_dump -o envoy.config

但是无法启动,出现错误:

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

1 个答案:

答案 0 :(得分:4)

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

  • 引导程序配置
  • 集群
  • 听众
  • 作用域路由
  • 路线
  • 秘密

您可以在config dump docs中了解有关输出结构的更多信息,但其摘要是它是完全不同的结构。

如果您确实提取了/config_dump的输出并将其剥离为bootstrap config字段,则确实可以使用它启动服务器。