zoukankan      html  css  js  c++  java
  • envoy部分三:enovy的部署

    ◼ Envoy通常用于以容器编排系统为底层环境的服务网格中,并以sidecar的形式与主程序容 器运行为单个Pod。

    ◼ 非编排系统环境中测试时,可以将主程序与Envoy运行于同一容器,或手动组织主程序 容器与Envoy容器共享同一网络名称空间。

    ◼ Front Proxy类型的Envoy可独立运行为守护进程或容器。

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

    ◼ envoy:基于Ubuntu Bionic制作的Docker Image
    ◼ envoy-alpine和envoy-alpine-dev:基于alpine制作的Docker Image
    ◼ envoy-debug和envoy-debug-dev:基于Ubuntu制作的带有debug环境的Docker Image
    ◼ envoy-windows 和envoy-windows-dev :基于Windows 1809 制作的Docker Image

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

    ◼ Ubuntu
    ◆https://dl.bintray.com/tetrate/getenvoy-deb
    
    ◼ CentOS
    ◆https://tetrate.bintray.com/getenvoy-rpm/centos/
    
    ◼ RHEL
    ◆https://tetrate.bintray.com/getenvoy-rpm/rhel/

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

    ◼ https://www.envoyproxy.io/docs/envoy/latest/start/install

    部署Envoy,以Ubuntu Linux发行版为例

    $ 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

    ◼ 检查envoy的版本
    ◆envoy --version
    
    ◼ 获取帮助
    ◆envoy --help
    
    ◼ 检查配置文件语法
    ◆envoy --mode validate -c /path/to/my-envoy-config.yaml
    
    ◼ 运行Envoy,并指定自定义的日志路径
    ◆envoy -c envoy-demo.yaml --log-path logs/custom.log
    
    ◆示例配置文件(提示:被代理的服务是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的初始配置,它可能 包括静态资源和动态资源的定义
    
    ◆静态资源(static_resources)于启动直接加载
    
    ◆动态资源(dynamic_resources)则需要通过配置的xDS服务获取并生成
    
    通常,Listener和Cluster是Envoy得以运行的基础,而二者的配置可以全部为静态格式,也 可以混合 使 用动态及静态方式提供,或者全部配置为动态;
    
    ◆例如,一个yaml格式纯静态的基础配置框架:
    static_resources
      listeners: 
      - name: ...
        address: {}
        filter_chains: []
        clusters: 
        - name: ...
          type: ...
          connect_timeout: {}
          dns_lookup_family: V4_ONLY
          load_assignment: {}
    I have a dream so I study hard!!!
  • 相关阅读:
    vue首页组件切换
    vue 页面 添加背景音乐
    vue 新闻列表滚动效果
    vuex中的this.$store.commit
    echarts图例的位置及大小,环图中间字
    octotree — 树形展示 Github 项目代码
    D3 GEO应用专题(一):绘制旋转的3D地球
    vue/cli 3.0脚手架搭建vue项目
    微软锁屏壁纸
    Spring Boot构建RESTful API与单元测试
  • 原文地址:https://www.cnblogs.com/yaokaka/p/15627438.html
Copyright © 2011-2022 走看看