Envoy基于文件系统的RDS动态配置

- "@type": type.googleapis.com/envoy.config.listener.v3.Listener
  name: beta.k8s.proxy
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 80
  filter_chains:
  - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          access_log:
          - name: envoy.access_loggers.file
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
              path: /home/logs/envoy/filesub/k8s.access.log
          http_filters:
          - name: envoy.filters.http.router
          rds:
            route_config_name: local_route
            config_source:
              path: /home/envoy/filesub/local_route.yaml
              resource_api_version: V3

route_config_name,resource_api_version 这两个配置一定要配置。

version_info: '1'
resources:
- "@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration"
  name: local_route
  virtual_hosts:
  - name: local_service
    domains: ["*"]
    routes:
    - match:
        prefix: "/"
        headers:
        - name: ":method"
          exact_match: "HEAD"
      direct_response:
        status: 200
        body:
          inline_string: "heihei"
    - match:
        prefix: "/"
      route:
        cluster: k8s.proxy
        timeout: 12s
        host_rewrite_literal: aaa..com

 

posted @ 2021-09-04 10:06  王鹏翀  阅读(218)  评论(0编辑  收藏  举报