envoy代理实践

1 下载envoy官方的镜像
docker pull envoyproxy/envoy:latest

2 启动docker容器
docker run -d -p 10000:10000 envoyproxy/envoy:latest
docker run -d -p 10001:10001 envoyproxy/envoy:latest
同时启动两个docker容器,一个为service1 ,另一个为service2
docker ps -a

启动镜像的时候将主机的网络与容器的网络进行了端口映射

4 登录进容器,启动相关envoy配置和service
apt-get update
apt-get install vim net-tools nginx
修改nginx和envoy的配置,service1为nginx的8080端口,启动本地的envoy,代理service1,同理启动service2,端口为nginx8081,启动一个envoy代理service2。
5 启动前端的代理docker,配置envoy,配置路由分别指向service1和service2。
基本的组织图入下:

6 测试:
curl localhost:10002

7 docker -proxy的配置

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address:
      protocol: TCP
      address: 127.0.0.1
      port_value: 9901
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address:
        protocol: TCP
        address: 0.0.0.0
        port_value: 10002
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["*"]
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: service1
          http_filters:
          - name: envoy.router
  clusters:
  - name: service1
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    # Comment out the following line to test on v6 networks
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts:
      - socket_address:
          address: 10.0.6.4
          port_value: 10000
  - name: service2
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    # Comment out the following line to test on v6 networks
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts:
      - socket_address:
          address: 10.0.6.3
          port_value: 10001
View Code

 

参考:https://github.com/envoyproxy/envoy/blob/master//examples/front-proxy/front-envoy.yaml

posted on 2018-08-22 11:21  小宇宙的空间  阅读(464)  评论(1编辑  收藏  举报

导航