码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • envoy 动态配置 lds-cds-grpc 详解


    文章目录

      • 鸟瞰
      • 1 前言
      • 2 前端代理 front-proxy 容器
      • 3 webserver01
        • envoy sidecar 容器
        • webserver01 容器
      • 4 webserver02
        • envoy sidecar 容器
        • webserver02 容器
      • 5 xds API server / control plane
      • 6 验证
        • 验证是否工作
        • 修改 source information 配置源文件看热加载是否生效
      • 7 code on github
      • Ref

    鸟瞰

    birdview of lds-cds-grpc

    1 前言

    1. 一个容器包含 envoy 作为前端代理
    2. 两个含有 envoy 作为 sidecar 使用的web服务器容器
    3. 一个 control plane 容器

    相关文章 envoy 文档动态配置示例 Dynamic configuration (control plane) 解释

    2 前端代理 front-proxy 容器

    初始配置包含 管理接口 9901、动态配置
    客户端请求代理转发端口 9090,使用静态配置指定 xds 服务器
    使用镜像envoyproxy/envoy-alpine:v1.20.0

    3 webserver01

    两个容器共享ip 和 hostname 等网络配置,可以作为一台服务器来看待

    envoy sidecar 容器

    包含管理接口 9921,监听 80 端口进行代理转发,envoy 资源配置使用静态配置

    webserver01 容器

    监听 8080 ,是一个镜像 ikubernetes/mini-http-server:v0.3 的 web 服务器

    4 webserver02

    envoy sidecar 容器

    包含管理接口 9922,监听 80 端口进行代理转发,envoy 资源配置使用静态配置

    webserver02 容器

    监听 8080,镜像为 jmalloc/echo-server 的web服务器

    5 xds API server / control plane

    使用基础镜像 ikubernetes/envoy-xds-server:v0.1,监听 18000 端口响应 xds API 动态配置的请求

    6 验证

    验证是否工作

    如果配置了两台web服务器,请求多次,看一下 load balance 是否起效
    在host机器通过映射出来的端口 9090 发出请求

    while sleep 1; do echo "==============="; curl -s http://localhost:9090; echo "==============="; echo -e "\033[34m load balance:ROUND_ROBIN\033[0m"; done; 
    
    • 1

    修改 source information 配置源文件看热加载是否生效

    在host机器通过映射出来的端口 9901 发出请求
    curl http://localhost:9901/clusters
    这个镜像 ikubernetes/envoy-xds-server:v0.1 有点bug,有时候修改了两次以后再修改之后没反应,需要重启 control plane。这里control plane 的实现是通过监测 yaml 文件的变化。envoy 不需要重启。

    7 code on github

    code on github

    Ref

    example#dynamic Official DOC
    envoy部分五:envoy的动态配置
    Envoy实现.NET架构的网关(一)静态配置与文件动态配置
    Envoy示例
    iKubernetes/servicemesh_in_practise github
    Dynamic configuration (control plane) Official DOC
    dynamic-config-cp Github

  • 相关阅读:
    pip常用命令总结
    力扣刷题记录(Java)(三)
    第10章 无持久存储的文件系统 (1)
    Django视图与路由:打造你的网络帝国
    ObjectProvider学习
    MATLAB环境下使用二维高分辨时频分析方法提取波状分量
    Linux中网络排查命令traceroute
    云计算前景如何,学习云计算后薪资怎么样?
    62. 不同路径-动态规划-双百代码
    20221127-1Spring_day01(资料来自黑马程序)
  • 原文地址:https://blog.csdn.net/ppdouble/article/details/127544340
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号