部署Envoy Sidecar代理:演示如何将Envoy作为Sidecar代理注入到应用容器中

news2024/12/22 19:16:28

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁
🦄 博客首页——猫头虎的博客🎐
🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

文章目录

  • 《部署Envoy Sidecar代理:演示如何将Envoy作为Sidecar代理注入到应用容器中》
    • 🐯摘要
    • 🎈引言
    • 📜正文
      • 1. Envoy简介
        • 1.1 Envoy的特点
      • 2. Sidecar模式与微服务
        • 2.1 为什么选择Sidecar模式?
      • 3. 部署Envoy作为Sidecar代理
        • 3.1 使用Docker Compose
        • 3.2 使用Kubernetes
      • 4. 配置Envoy
        • 4.1 基本路由配置
        • 4.2 高级配置
      • 5. 监控与日志
        • 5.1 使用Prometheus监控
        • 5.2 日志分析
    • 🌈总结
    • 📚参考资料
  • 原创声明

《部署Envoy Sidecar代理:演示如何将Envoy作为Sidecar代理注入到应用容器中》

在这里插入图片描述

🐯摘要

🎉大家好!猫头虎博主又来啦!在微服务的世界中,代理模式已逐渐成为标配,而Envoy作为其中的佼佼者,备受瞩目。Envoy可以作为一个Sidecar代理部署,提供强大的流量管理、监控和安全功能。在本文中,我们将探索如何将Envoy作为Sidecar代理注入到应用容器中,并演示实际的部署流程。对于寻找微服务代理、Envoy部署和容器技术 热门知识的你,这篇文章绝对值得一读!🚀

🎈引言

在复杂的微服务环境中,如何管理服务间的通信是一个巨大的挑战。Envoy,作为一个高性能的代理,为我们提供了解决这一挑战的关键工具。

📜正文

1. Envoy简介

Envoy是一个开源的边缘和服务代理,设计用于云原生应用。

1.1 Envoy的特点

  • 高性能:使用C++编写,为性能优化。
  • 模块化:提供丰富的过滤器链和插件系统。

2. Sidecar模式与微服务

Sidecar模式允许我们将应用逻辑与网络逻辑分离,提供更清晰的架构。

2.1 为什么选择Sidecar模式?

  • 解耦:应用开发者可以专注于业务逻辑,而不是网络问题。
  • 统一管理:所有微服务共享相同的网络策略和配置。

3. 部署Envoy作为Sidecar代理

将Envoy与应用容器一起部署,形成一个共享的网络空间。

3.1 使用Docker Compose

version: '3'
services:
  my-app:
    image: my-app:latest
    networks:
      - envoy-net
  envoy:
    image: envoyproxy/envoy:latest
    networks:
      - envoy-net
    ports:
      - "80:80"
networks:
  envoy-net:

3.2 使用Kubernetes

在Kubernetes中,我们可以使用annotation来自动注入Envoy。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  annotations:
    sidecar.istio.io/inject: "true"
spec:
  ...

4. 配置Envoy

Envoy提供了丰富的配置选项,满足各种需求。

4.1 基本路由配置

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 80 }
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["*"]
              routes:
              - match: { prefix: "/" }
                route: { host_rewrite_literal: "localhost", cluster: "service_cluster" }
          http_filters:
          - name: envoy.filters.http.router

4.2 高级配置

Envoy还支持更高级的功能,如流量分担、断路器和重试策略。

5. 监控与日志

Envoy提供了丰富的监控和日志功能,帮助我们更好地理解服务的行为。

5.1 使用Prometheus监控

Envoy可以与Prometheus集成,提供实时的性能指标。

5.2 日志分析

Envoy的日志可以帮助我们分析请求的行为和性能。

🌈总结

Envoy作为Sidecar代理为微服务提供了强大的网络功能。通过将Envoy与应用容器一起部署,我们可以享受到高效、安全和可靠的网络通信。随着云原生技术的发展,我们期待Envoy将提供更多的创新功能。

📚参考资料

  1. Envoy官方文档
  2. 《微服务网络设计与管理》
  3. 《深入Envoy内部原理》

感谢大家的阅读,我是猫头虎博主,下次见!🐯👋🎉

在这里插入图片描述

原创声明

======= ·

  • 原创作者: 猫头虎

作者wx: [ libin9iOak ]

学习复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【pytest】 pytest拓展功能 PermissionError问题

目录 1. pytest-html 1.1 PermissionError: [Errno 13] Permission denied: D:\\software\\python3\\anconda3\\Lib\\site-packages\\pytest_html\\__pycache__\\tmp_ttoasov 1.2错误原因 2. 失败用例重试 3. 用例并行执行 pytest-parallel 1. pytest-html 管理员打开 A…

使用postman测试邮件接口

首先找到token的位置 找到token的值之后 复制接口文档里的地址,在接口文档给的底之前前加api 配置token 在params参数里增加token参数 值复制浏览器里的token参数 发送send就ok了

交换机的工作原理(含实例,华为ensp操作)

目录​​​​​​​ ​​​​​​​1.交换机学习和转发 案例 1.设置静态地址表项 2.配置黑洞mac地址表项 1.交换机学习和转发 交换机工作在数据链路层。当交换机从某个端口收到一个帧时,它并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址&a…

JMeter:接口测试基础介绍

一、什么是接口 接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的: 两个不同系统或系统中两个不同特性部分的交接部分。一般分硬件接口和软件接口两种。前者是为连接计算机各部分之间、计算机与计算机之间、计算机与外部系统…

Matlab论文插图绘制模板第114期—带图形标记的图

之前的文章中,分享了Matlab带线标记的图: 带阴影标记的图: 带箭头标记的图: 进一步,分享一下带图形标记的图,先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中&…

9.18 QT作业

mainwindow.h QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();signals:void jump(); //自定义跳转信号函数private slots:vo…

小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

编写思路 首先,在执行“ps -elf |grep xxx”时,如果xxx存在,通常会有两条结果,一个是xxx对应的PID,一个则是grep对应的PID,但是如果我希望执行命令后,xxx存在就只有xxx对应的PID,不…

Vue3函数式编程

文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法,…

QML元素定位器:Row、Colum、Grid、Flow、定位器嵌套以及Repeater用法

在QML中,定位器(Positioner)是一种特殊的组件,用于管理其子项的位置。定位器确保其子项始终根据给定的规则排列。Qt Quick提供了几种定位器,用于处理不同的布局需求。 以下是一些常用的QML定位器: Row:将其子项沿水平线排列。Column:将其子项沿垂直线排列。Grid:将其子…

6.3 字符数组

思维导图: 前言: 主要内容: 前言内容整理 字符型数据和存储 字符型数据是依据字符的ASCII代码存储在内存单元中,通常占用一个字节的空间。ASCII代码可以被认为是整数,因此在C99标准中,字符类型被归类为整…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal : queryWrapper where 条件不为空的时候,才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了, 因为DataPermission 注解进…

开发一个训练LORA的WebUI

文章目录 效果原理说明代码 效果 原理 基于开源项目kohya-ss/sd-scripts增加了Gradio UI,精简了训练参数,更适合初级“炼丹宝宝”的炼丹炉! 核心思想还是比较简单的,通过Gradio UI来收集设置的训练参数,并通过python的…

全国职业技能大赛云计算--高职组赛题卷⑤(私有云)

全国职业技能大赛云计算--高职组赛题卷⑤(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…

渗透测试信息收集方法

一、域名收集 OneForAll输出表格方便筛选(status、title) layer5.0saintsec更新版子域名挖掘机 百度云链接: https://pan.baidu.com/s/1VQ2HLocs39B72ElysskPog 提取码:121l subdomainsBurte,python2子域名爆破 https://github.com/y1ng1996/lijiejie_subDomainsBru…

偶现来电时手机操作出现重启

问题描述:偶现来电时手机操作出现重启 问题分析:从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …

Python Web开发:构建动态Web应用

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Python已经成为一门流行…

功能基础篇2——常用哈希和加密算法介绍及Python相关库与实现

加解密 https://docs.python.org/3/library/crypto.html 三方库推荐,https://cryptography.io/en/latest/ Criptography,https://pypi.org/project/cryptography/ PyCryptodome,a fork of PyCrypto,https://pypi.org/project/…

vue3+ts 实现移动端分页

current 开始页码 pageSize 结束页码 const sizeref<number>(10) //一页显示十条 const eachCurrentPageref<number>(1) //默认是第一页interface ITdata {current: number,pageSize: number,// xxxx 其他参数... } const selectApplyList ref<…

vue-h5:移动Web单击事件和延迟300ms的问题

在PC端的网页&#xff0c;大部分的交互是通过click事件来实现的&#xff0c;然而在移动端&#xff0c;则是通过touch事件来实现触摸交互。 单击或者点击事件&#xff0c;指的是鼠标按下并且在短时间内放开【一般是小于300ms】。 那么移动端&#xff0c;也是类似&#xff0c;在…

大模型微调方法

下面是一些参数高效的微调大模型方法&#xff1a; Adapter 模型总览 Adapter作为一个插件加入到大模型内&#xff0c;微调下游任务时&#xff0c;固定大模型参数&#xff0c;只训练Adapter参数。 LoRA LoRA名为大语言模型的低阶适应&#xff0c;最初设计用于微调LLM&#xf…