You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何启用Envoy运行时特性envoy.reloadable_features.use_http_client_to_fetch_aws_credentials?

正确启用Envoy运行时特性envoy.reloadable_features.use_http_client_to_fetch_aws_credentials的方法

问题场景

我尝试将配置项envoy.reloadable_features.use_http_client_to_fetch_aws_credentials: true直接添加到Envoy的config.yaml文件根节点,但该配置未被识别,导致EKS中运行Envoy的Pod崩溃。

错误配置片段(config.yaml)

envoy.reloadable_features.use_http_client_to_fetch_aws_credentials: true

static_resources:
  listeners:
    - address:
        socket_address:
          address: 0.0.0.0
          port_value: 8080
      filter_chains:
        - transport_socket:
            name: envoy.transport_sockets.tls
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
....

Envoy启动命令

/usr/local/bin/envoy -c /config/config.yaml

错误日志

[2024-03-07 20:53:34.022][1][debug][init] [source/common/init/watcher_impl.cc:31] init manager Server destroyed
Protobuf message (type envoy.config.bootstrap.v3.Bootstrap reason INVALID_ARGUMENT: invalid JSON   in envoy.config.bootstrap.v3.Bootstrap,   near 1:4724  (offset 4723): no   such field: 'envoy.reloadable_features.use_http_client_to_fetch_aws_credentials') has unknown fields

错误原因

envoy.reloadable_features.use_http_client_to_fetch_aws_credentials是Envoy的运行时特性开关,不属于Bootstrap配置的顶层字段,直接放在config.yaml根节点会被视为非法字段,导致启动失败。

正确启用方式

方式1:通过启动命令参数直接启用

在Envoy启动命令中添加--enable-features参数指定要启用的特性,修改后的启动命令如下:

/usr/local/bin/envoy -c /config/config.yaml --enable-features envoy.reloadable_features.use_http_client_to_fetch_aws_credentials

若需启用多个特性,用逗号分隔即可:--enable-features feature1,feature2

方式2:通过运行时配置动态管理(支持重载)

如果需要动态开关特性或批量管理,可通过Envoy的运行时配置系统实现:

  1. 创建运行时配置文件(例如reloadable_features.yaml):
    envoy.reloadable_features.use_http_client_to_fetch_aws_credentials: true
    
  2. 将该文件放置到运行时目录(比如/srv/envoy/runtime/current)
  3. 在Bootstrap配置中添加运行时配置节点:
    static_resources:
      # 原有静态资源配置...
    runtime:
      symlink_root: /srv/envoy/runtime
      subdirectory: current
      override_subdirectory: override
    

配置完成后,Envoy会读取运行时目录中的特性开关配置,且支持通过更新文件动态重载。

注意事项

确保使用的Envoy版本支持该特性,可执行envoy --version查看版本号,确认版本兼容性。

内容的提问来源于stack exchange,提问作者Raunak Kapoor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 10:55:27