K8s集群中替换Envoy监听配置实现全流量转发至EnvoyLB集群
问题场景与需求
在K8s集群中,需将一台Keycloak配置为以另一台Keycloak作为身份提供商。要求发往目标Keycloak的所有流量必须经过作为服务网格入口及负载均衡器的第二台Envoy。
当前已有可行方案但过于复杂,计划移除监听127.0.0.1:9090的Envoy监听器,替换为可捕获全部流量并转发至envoylb集群的监听器,但多次尝试均未成功。
现有Envoy监听器配置
- name: idp address: socket_address: address: 127.0.0.1 ipv4_compat: true port_value: 9090 protocol: TCP filter_chains: filters: - name: envoy.filters.network.tcp_proxy typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy stat_prefix: idp cluster: envoylb access_log: - name: envoy.access_loggers.file typed_config: "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: "/var/log/envoysidecar.log"
现有envoylb集群配置
- name: envoylb type: STRICT_DNS connect_timeout: seconds: 15552000 lb_policy: ROUND_ROBIN load_assignment: cluster_name: envoylb endpoints: - lb_endpoints: - endpoint: address: socket_address: address: envoylbservice port_value: 8298
内容的提问来源于stack exchange,提问作者sotiris
相关产品推荐
相关产品推荐

