Envoy 的启动

2023-02-11  本文已影响0人  程序员札记

Envoy项目为多种平台(例如amd64和arm64等)维护有相应的Docker Image,我们可按需猎 取相应镜像后以容器形式运行Envoy,而且它们存在以下几种变化形式

Get Envoy项目为多个主流的Linux发行版(例如Ubuntu、CentOS和RHEL等)维护了二进制 的发行版,配置相应的仓库后,即可使用系统的包管理器进行安装;

部署文档(建议使用稳定版)

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -sL 'https://getenvoy.io/gpg' | sudo apt-key add -
# 检查密钥
$ apt-key fingerprint 6FF974DB | grep "5270 CEAC"
$ sudo add-apt-repository "deb [arch=amd64] https://dl.bintray.com/tetrate/getenvoy-deb $(lsb_release -cs) stable"
$ sudo apt update
$ sudo apt install getenvoy-envoy

运行Envoy

示例配置文件(提示:被代理的服务是Google,建议修改为其他可用地址)
https://www.envoyproxy.io/docs/envoy/latest/_downloads/92dcb9714fb6bc288d042029b34c0de4/envoy-demo.yaml

启动envoy

启动Envoy时,需要通过“-c”选项为其指定初始配置文件以提供引导配置(Bootstrap configuration),这也是使用v3 API的必然要求:
~]$ envoy -c <path to config>.{json,yaml,pb,pb_text}

扩展名代表了配置信息的组织格式;

引导配置是Envoy配置信息的基点,用于承载Envoy的初始配置,它可能 包括静态资源和动态资源的定义

通常,Listener和Cluster是Envoy得以运行的基础,而二者的配置可以全部为静态格式,也 可以混合 使 用动态及静态方式提供,或者全部配置为动态;

例如,一个yaml格式纯静态的基础配置框架:

static_resources
  listeners: 
  - name: ...
    address: {}
    filter_chains: []
    clusters: 
    - name: ...
      type: ...
      connect_timeout: {}
      dns_lookup_family: V4_ONLY
      load_assignment: {}
上一篇下一篇

猜你喜欢

热点阅读