Envoy配置ext_proc

介紹

本文將使用gateway api inference extension作為envoy的ext_proc服務端

啟動Ext_Proc

基于Gateway API Inference Extension

https://github.com/kubernetes-sigs/gateway-api-inference-extension.git

先clone代碼到本地

git clone https://github.com/kubernetes-sigs/gateway-api-inference-extension.git

回退到一個較早commit,該commit是一個最基礎的實現

git reset --hard 90c2b645c1515e760e511d00ed9f6e5324084acc

切換到examples/poc/ext-proc目錄

將main.go中以下k8s相關內容注釋掉

直接指定Pod IP和Pod啟動服務,Pod名隨意,以下只是使用vllm容器啟動的deepseek服務

go run main.go --podIPs 128.128.0.14:8000 --pods pod1

會看到定時從指定的IP中獲取指標

配置Envoy

增加ext_proc配置

1. 增加一個http-filter:類型為ext_proc,放在router之前

2. 增加一個cluster:指向上述啟動的服務

admin:address:socket_address:protocol: TCPaddress: 0.0.0.0port_value: 9901
static_resources:listeners:- name: listener_0address:socket_address:address: 0.0.0.0port_value: 10000filter_chains:- filters:- name: envoy.filters.network.http_connection_managertyped_config:"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManagerstat_prefix: ingress_httpaccess_log:- name: envoy.access_loggers.stdouttyped_config:"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLogroute_config:name: local_routevirtual_hosts:- name: local_servicedomains: ["*"]routes:- match:prefix: "/"route:cluster: original_destination_clusterhttp_filters:- name: envoy.filters.http.ext_proctyped_config:"@type": type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessorgrpc_service:envoy_grpc:cluster_name: ext_procfailure_mode_allow: trueprocessing_mode:request_header_mode: SENDresponse_header_mode: SENDrequest_body_mode: BUFFERED_PARTIALresponse_body_mode: BUFFERED_PARTIALrequest_trailer_mode: SENDresponse_trailer_mode: SENDmessage_timeout: 1000s- name: envoy.filters.http.routertyped_config:"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Routerclusters:- name: ext_proctype: STATICconnect_timeout: 86400shttp2_protocol_options: {}lb_policy: ROUND_ROBINload_assignment:cluster_name: ext_procendpoints:- lb_endpoints:- endpoint:address:socket_address:address: 10.42.16.26port_value: 9002load_balancing_weight: 1- name: original_destination_clustertype: ORIGINAL_DSTconnect_timeout: 1000slb_policy: CLUSTER_PROVIDEDcircuit_breakers:thresholds:- max_connections: 40000max_pending_requests: 40000max_requests: 40000original_dst_lb_config:use_http_header: true#http_header_name: x-gateway-destination-endpointhttp_header_name: target-pod

重啟envoy服務

測試

不用在請求頭里自己加header,envoy會自動加上

curl http://128.128.0.13:10000/v1/completions   -H "Content-Type: application/json"     -d '{"model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B","prompt": "San Francisco is a","max_tokens": 7,"temperature": 0}' -v

參考

深入解析 Envoy 外部處理過濾器(ext_proc) - Jimmy Song

https://github.com/kubernetes-sigs/gateway-api-inference-extension/blob/main/test/testdata/envoy.yaml

External Processing Filter (proto) — envoy 1.36.0-dev-0c7818 documentation

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96402.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

echarts關系圖(Vue3)

基礎版效果圖&#xff1a;后期請求接口&#xff0c;接入數據即可用<template><div><v-chartref"vChartRef":option"option"style"width: 100%; height: 800px"></v-chart></div> </template><script lan…

【LeetCode】17. 電話號碼的字母組合

文章目錄17. 電話號碼的字母組合題目描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a;提示&#xff1a;解題思路算法分析問題本質分析回溯法詳解組合生成過程可視化數字映射關系各種解法對比算法流程圖邊界情況處理時間復雜度分析空間復雜度分析關鍵優化點實際應用…

全文 part1 - DGEMM Using Tensor Cores, and Its Accurate and Reproducible Versions

摘要 本文提出了一種在 NVIDIA 圖形處理器&#xff08;GPU&#xff09;的張量核心&#xff08;Tensor Cores&#xff0c;僅含 FP16、INT8 等 GEMM 計算功能&#xff09;上實現 FP64&#xff08;雙精度&#xff0c;DGEMM&#xff09;和 FP32&#xff08;單精度&#xff0c;SGEMM…

Hexo 博客圖片托管:告別本地存儲,用 PicGo + GitHub 打造高速穩定圖床

之前剛開始進行Hexo博客撰寫&#xff0c;圖片都保存在本地Hexo源文件目錄&#xff08;source/images/&#xff09;文件夾&#xff0c;隨著圖片增多&#xff0c;管理起來壓力增大&#xff0c;于是產生了使用圖床&#xff0c;引入外鏈進行圖片存儲的想法 Pros and Cons 提升部署…

關于 VScode 無法連接 Linux 主機并報錯 <未能下載 VScode 服務器> 的解決方案

1. 出現的情況 VScode 遠程登錄 Linux 主機, 出現一下報錯:2. 檢查方案 2.1 VScode 方面 菜單欄: 點擊 <幫助> →\to→ 點擊 <關于> 在出現的彈窗中記錄 [提交: ] 之后的字符串 (暫且將該字符串命名為變量 $commit_id) 2.2 Linux 方面 使用 ssh or MobaXterm 遠程登…

泛型與反射

也是重新溫習了下泛型與反射,反射基本就是一些api理解即可,不過需要注意類加載器原理,而泛型則需要理解其設計思想,可以代替Object,更加靈活,可讀性強。泛型泛型如果指定后,編譯階段就會檢查,不讓亂輸其他類型,必須是引用類型; 如果不指定就默認Object// 如果指定泛型, 就必須存…

Docker端口映射與數據卷完全指南

目錄 Docker端口映射與數據卷完全指南 1. 端口映射:連接Docker容器與外部世界 1.1 為什么需要端口映射 1.2 實現端口映射 1.3 查看端口映射 1.4 修改端口映射(高級操作) 2. 數據卷:Docker數據持久化解決方案 2.1 數據持久化問題 2.2 數據卷的含義 2.3 數據卷的特點 2.4 掛載…

【Linux篇章】穿越網絡迷霧:揭開 HTTP 應用層協議的終極奧秘!從請求響應到實戰編程,從靜態網頁到動態交互,一文帶你全面吃透并征服 HTTP 協議,打造屬于你的 Web 通信利刃!

本篇摘要 本篇將介紹何為HTTP協議&#xff0c;以及它的請求與答復信息的格式&#xff08;請求行&#xff0c;請求包頭&#xff0c;正文等&#xff09;&#xff0c;對一些比較重要的部分來展開講解&#xff0c;其他不常用的即一概而過&#xff0c;從靜態網頁到動態網頁的過渡&a…

QT的項目pro qmake編譯

使用qmake管理Qt庫的子工程示例-CSDN博客 top_srcdir top_builddir

語音交互系統意圖識別介紹和構建

一、意圖識別簡介**意圖識別&#xff08;Intent Recognition&#xff09;**是語音交互系統的核心組件&#xff0c;用于理解用戶語音輸入背后的真實目的&#xff08;如查詢天氣、播放音樂等&#xff09;。輸入&#xff1a;語音轉文本&#xff08;ASR輸出&#xff09;的語句輸出&…

DINOv3 重磅發布

2025年8月14日 Meta 發布了 DINOv3 。 主頁&#xff1a;https://ai.meta.com/dinov3/ 論文&#xff1a;DINOv3 HuggingFace地址&#xff1a;https://huggingface.co/collections/facebook/dinov3-68924841bd6b561778e31009 官方博客&#xff1a;https://ai.meta.com/blog/d…

ansible playbook 實戰案例roles | 實現基于firewalld添加端口

文章目錄一、核心功能描述二、roles內容2.1 文件結構2.2 主配置文件2.3 tasks文件內容免費個人運維知識庫&#xff0c;歡迎您的訂閱&#xff1a;literator_ray.flowus.cn 一、核心功能描述 這個 Ansible Role (firewalld) 的核心功能是&#xff1a;動態地、安全地配置 firewal…

【深度學習實戰(55)】記錄一次在新服務器上使用docker的流程

使用docker&#xff1a;apt-get install dockersudo usermod -aG docker sliu &#xff08;將用戶 sliu 添加到 docker 用戶組&#xff09;newgrp docker &#xff08;刷新&#xff09;docker imagessudo docker load --input /home/sliu/workspace/env/shuai_docker.tar &…

面試后的跟進策略:如何提高錄用幾率并留下專業印象

面試結束后&#xff0c;許多求職者認為自己的任務已經完成&#xff0c;只需等待結果通知。然而&#xff0c;面試后的跟進策略同樣是求職過程中的關鍵環節&#xff0c;它不僅能提高你的錄用幾率&#xff0c;還能展示你的專業素養和持續興趣。本文將結合酷酷面試平臺的專業建議&a…

深入解析RAGFlow六階段架構

下面用“流程圖 六階段拆解”的方式&#xff0c;把 RAGFlow 的完整流程逐層剖開&#xff0c;力求把每一步的輸入、輸出、可選策略、內部機制都講清楚。 ──────────────────────── 一、總覽圖&#xff08;先建立體感&#xff09; 用戶提問 │ ├─→【…

Go語言中的迭代器模式與安全訪問實踐

Go語言中的迭代器模式與安全訪問實踐 1. 迭代器模式在Go中的演進 1.1 傳統迭代器模式回顧 在傳統面向對象語言中&#xff0c;迭代器模式通常涉及三個核心組件&#xff1a;可迭代集合接口(Iterable)迭代器接口(Iterator)具體實現類// 傳統迭代器模式示例 type Iterator interfac…

從零開始:JDK 在 Windows、macOS 和 Linux 上的下載、安裝與環境變量配置

前言 在進入 Java 世界之前&#xff0c;搭建一個穩定、可用的開發環境是每個開發者必須邁過的第一道門檻。JDK&#xff08;Java Development Kit&#xff09;作為 Java 程序開發的核心工具包&#xff0c;其正確安裝與環境變量配置直接關系到后續編譯、運行、調試等所有開發流程…

【音視頻】芯片、方案、市場信息收集

系統級芯片安霸&#xff08;Ambarella&#xff09;Ambarella H22/H32&#xff1a;高端方案&#xff0c;支持8K/4K高幀率錄制&#xff0c;低功耗&#xff0c;廣泛用于GoPro Hero 11/12、Insta360等旗艦機型。 Ambarella A12/A10&#xff1a;早期主流方案&#xff0c;支持4K60fps…

中科米堆CASAIM提供機加工件來料自動化測量尺寸方案

機加工行業面臨日益嚴格的質量追溯要求&#xff0c;來料質量的穩定性直接影響著后續生產效率與成品合格率。傳統人工檢測方式受限于接觸式工具的測量精度與操作效率&#xff0c;難以應對小批量、多品種的現代生產需求。傳統機加工件來料檢測長期面臨這些問題&#xff1a;其一&a…

MySQL只操作同一條記錄也會死鎖嗎?

大家好&#xff0c;我是鋒哥。今天分享關于【MySQL只操作同一條記錄也會死鎖嗎?】面試題。希望對大家有幫助&#xff1b; MySQL只操作同一條記錄也會死鎖嗎? 超硬核AI學習資料&#xff0c;現在永久免費了&#xff01; 在 MySQL 中&#xff0c;死鎖通常是由于多個事務對不同…