envoy代理skywalking提供服务

skywalking服务启动后,默认监听127.0.0.1,本着玩的目的,我们使用envoy代理提供对外服务!

首先开启基于文件的动态配置

基于文件发现的配置如下, 其中lds代表监听集群发现, cds 代表集群发现。 eds 代表终端发现

node:
  id: id_1
  cluster: test
admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 127.0.0.1, port_value: 9901 }
dynamic_resources:
  lds_config:
    resource_api_version: V3
    path: "./lds/lds.yaml"
  cds_config:
    resource_api_version: V3
    path: "./cds/cds.yaml"
layered_runtime:
  layers:
  - name: static_layer_0
    static_layer:
      envoy:
        resource_limits:
          listener:
            example_listener_name:
              connection_limit:10000
      overload:
        global_downstream_max_connections:50000

我们lds配置


resources:
  - name: sky_listen
    "@type": type.googleapis.com/envoy.config.listener.v3.Listener
    address:
      socket_address: { address: 0.0.0.0, port_value: 18080 }
    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
            codec_type: AUTO
            route_config:
              name: in2magic
              virtual_hosts:
              - name: sky_service
                domains: ["*"]
                routes:
                  - match: { prefix: "/" }
                    route:
                      cluster: sky_web_cs
                      # host_rewrite_literal: www.baidu.com
                      idle_timeout: 15s # must be disabled for long-lived
                  - match: { prefix: "/graphql" }
                    route:
                      cluster: sky_bd_cs
                      # host_rewrite_literal: www.baidu.com
                      idle_timeout: 15s # must be disabled for long-lived
            http_filters:
            - name: envoy.filters.http.router
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

我们的cds配置

resources:
- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster
  name: sky_web_cs
  connect_timeout: 0.25s
  lb_policy: ROUND_ROBIN
  type: EDS
  eds_cluster_config:
    eds_config:
      path: "./eds/sky_web_eds.yaml"

- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster
  name: sky_bd_cs
  connect_timeout: 0.25s
  lb_policy: ROUND_ROBIN
  type: EDS
  eds_cluster_config:
    eds_config:
      path: "./eds/sky_bd_eds.yaml"

我们的eds配置

resources:
- "@type": type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment
  cluster_name: sky_bd_cs

  endpoints:
  - lb_endpoints:
    - endpoint:
        address:
          socket_address:
            address: 127.0.0.1
            port_value: 12800


resources:
- "@type": type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment
  cluster_name: sky_web_cs
  endpoints:
  - lb_endpoints:
    - endpoint:
        address:
          socket_address:
            address: 127.0.0.1
            port_value: 8787

这样就搞定了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值