diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 1b20368..b87dd66 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -2,4 +2,4 @@ resources: - manager.yaml images: - name: 4pdosc/autoconfig - newTag: "0.4.1" + newTag: "0.4.2" diff --git a/config/samples/modelroute-qwen.yaml b/config/samples/modelroute-qwen.yaml index 26cefbd..00b6970 100644 --- a/config/samples/modelroute-qwen.yaml +++ b/config/samples/modelroute-qwen.yaml @@ -3,8 +3,8 @@ # 前置:cart-qwen 需先用 cache_aware_router helm chart 装(一个模型一个 cart): # helm -n llm-route install cart-qwen \ # --set fullnameOverride=cart-qwen \ -# --set reload.image=4pdosc/autoconfig-reload:0.4.1 \ -# --set ha.image=4pdosc/autoconfig-hagate:0.4.1 +# --set reload.image=4pdosc/autoconfig-reload:0.4.2 \ +# --set ha.image=4pdosc/autoconfig-hagate:0.4.2 # (cart 起始 initContainer 等 cart-qwen-config 有 workers → 本 ModelRoute apply 后 autoconfig 写入即就绪) # autoconfig 据此写 openresty-conf(session_route_qwen.conf)+ cart-qwen-config(workers)。 # 所有 service / outputConfigMap 均为 ns/name 全限定 → controller 全集群 watch,本 ModelRoute 放哪个 ns 都行 diff --git a/deploy/helm/autoconfig/Chart.yaml b/deploy/helm/autoconfig/Chart.yaml index 6c42940..4bea316 100644 --- a/deploy/helm/autoconfig/Chart.yaml +++ b/deploy/helm/autoconfig/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: autoconfig description: k8s 后端发现 → 自动同步 openresty peers / cache-aware-router workers(ModelRoute controller) type: application -version: 0.4.1 # chart 版本 -appVersion: "0.4.1" # 镜像版本(image.tag 缺省用它) +version: 0.4.2 # chart 版本 +appVersion: "0.4.2" # 镜像版本(image.tag 缺省用它) keywords: [routing, openresty, cache-aware-router, service-discovery, operator] home: https://github.com/modelsphere/autoconfig diff --git a/test/e2e/crd_e2e.sh b/test/e2e/crd_e2e.sh index 79ec6cf..76b2afe 100644 --- a/test/e2e/crd_e2e.sh +++ b/test/e2e/crd_e2e.sh @@ -4,13 +4,13 @@ # → 验 cart-config workers + openresty CART优先/后端兜底 peers + status → scale 跟随 → 删除清理。 # # 依赖:autoconfig helm chart(默认 $HERE/charts/autoconfig,含 CRD+RBAC+controller)。 -# 用法:NS=ac-e2e IMG=4pdosc/autoconfig:0.4.1 bash crd_e2e.sh [--keep] +# 用法:NS=ac-e2e IMG=4pdosc/autoconfig:0.4.2 bash crd_e2e.sh [--keep] set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" NS=${NS:-ac-e2e} CTRL_NS=${CTRL_NS:-autoconfig} AC_CHART=${AC_CHART:-$HERE/charts/autoconfig} -IMG=${IMG:-4pdosc/autoconfig:0.4.1} +IMG=${IMG:-4pdosc/autoconfig:0.4.2} MOCK=${MOCK:-python:3.12-alpine} KEEP=0; [ "${1:-}" = "--keep" ] && KEEP=1 FAIL=0 diff --git a/test/e2e/ha_failover_check.sh b/test/e2e/ha_failover_check.sh index 9e9f02c..e53c2ce 100644 --- a/test/e2e/ha_failover_check.sh +++ b/test/e2e/ha_failover_check.sh @@ -7,7 +7,7 @@ NS=${NS:-kimi} CHARTS=${CHARTS:-$HERE/charts} OR_IMG=${OR_IMG:-4pdosc/llm-openresty:0.1.20} CART_IMG=${CART_IMG:-4pdosc/cache_aware_router:0.6.5} -ACR=${ACR:-4pdosc/autoconfig-reload:0.4.1} +ACR=${ACR:-4pdosc/autoconfig-reload:0.4.2} AUTH_KEY=${AUTH_KEY:?需设置:openresty 入口鉴权 key(Bearer)} FAIL=0; say(){ echo -e "\n=== $* ==="; }; ok(){ echo " PASS: $*"; }; bad(){ echo " FAIL: $*"; FAIL=1; } diff --git a/test/e2e/helm_e2e.sh b/test/e2e/helm_e2e.sh index 580d75b..e95394d 100644 --- a/test/e2e/helm_e2e.sh +++ b/test/e2e/helm_e2e.sh @@ -7,7 +7,7 @@ HERE="$(cd "$(dirname "$0")" && pwd)" CHART=${CHART:-$HERE/autoconfig} NS=${NS:-autoconfig} TNS=${TNS:-ac-helm-e2e} -IMG_TAG=${IMG_TAG:-0.4.1} +IMG_TAG=${IMG_TAG:-0.4.2} MOCK=${MOCK:-python:3.12-alpine} KEEP=0; [ "${1:-}" = "--keep" ] && KEEP=1 FAIL=0 diff --git a/test/e2e/prod_real_model_e2e.sh b/test/e2e/prod_real_model_e2e.sh index a7cc2c5..4d2149a 100644 --- a/test/e2e/prod_real_model_e2e.sh +++ b/test/e2e/prod_real_model_e2e.sh @@ -3,7 +3,7 @@ # 后端 = 真 opt-125m vLLM(复用 e2e-test/vllm-mock-vllm-svc,跨 ns discovery)。真 /v1/completions 推理。 set -uo pipefail NS=${NS:-llm-route}; CTRL_NS=autoconfig; CHARTS=~/prod-e2e/charts -H=4pdosc; TAG=${IMG_TAG:-0.4.1} +H=4pdosc; TAG=${IMG_TAG:-0.4.2} AC=$H/autoconfig; ACR=$H/autoconfig-reload:$TAG; AH=$H/autoconfig-hagate:$TAG OR_IMG=$H/llm-openresty:0.1.20; CART_IMG=$H/cache_aware_router:0.6.5; MON_IMG=${MON_IMG:?set MON_IMG to an llm-monitor image} BACKEND_SVC=e2e-test/vllm-mock-vllm-svc; BPORT=8000; MODEL=facebook/opt-125m diff --git a/test/e2e/real_helm_e2e.sh b/test/e2e/real_helm_e2e.sh index 0fee93a..547bdba 100644 --- a/test/e2e/real_helm_e2e.sh +++ b/test/e2e/real_helm_e2e.sh @@ -5,12 +5,12 @@ # Run it where kubectl and helm reach the cluster. Needs charts/{autoconfig,openresty,cache_aware_router,monitor} # next to it (the autoconfig chart carries the CRD, RBAC and controller). # openresty / monitor / cache_aware_router chart 各在其仓(llm-openresty / llm-monitor / cache_aware_router)的 k8s/helm/ —— 跑前拷进 charts/{openresty,monitor,cache_aware_router}。 -# IMG_TAG=0.4.1 bash real_helm_e2e.sh [--keep] +# IMG_TAG=0.4.2 bash real_helm_e2e.sh [--keep] set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" NS=${NS:-ac-helm} CTRL_NS=${CTRL_NS:-autoconfig} -TAG=${IMG_TAG:-0.4.1} +TAG=${IMG_TAG:-0.4.2} CHARTS=${CHARTS:-$HERE/charts} AC=4pdosc/autoconfig ACR=4pdosc/autoconfig-reload:$TAG diff --git a/test/e2e/real_kimi_e2e.sh b/test/e2e/real_kimi_e2e.sh index f0dddd5..cb99d65 100644 --- a/test/e2e/real_kimi_e2e.sh +++ b/test/e2e/real_kimi_e2e.sh @@ -5,12 +5,12 @@ # 真发一条 /v1/chat/completions 经 openresty→CART→kimi 拿真实回答。 # 依赖同目录:charts/{autoconfig,openresty,cache_aware_router,monitor}(autoconfig chart 含 CRD+RBAC+controller)。 # openresty / monitor / cache_aware_router chart 各在其仓(llm-openresty / llm-monitor / cache_aware_router)的 k8s/helm/ —— 跑前拷进 charts/{openresty,monitor,cache_aware_router}。 -# IMG_TAG=0.4.1 bash real_kimi_e2e.sh [--keep] +# IMG_TAG=0.4.2 bash real_kimi_e2e.sh [--keep] set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" NS=${NS:-kimi} # 与 kimi LWS 同 ns(discovery 同 ns) CTRL_NS=${CTRL_NS:-autoconfig} -TAG=${IMG_TAG:-0.4.1} +TAG=${IMG_TAG:-0.4.2} CHARTS=${CHARTS:-$HERE/charts} KIMI_SVC=${KIMI_SVC:-kimi-k26-leader} MODEL=${MODEL:-kimi-k2.6} diff --git a/test/e2e/test_dynamic.sh b/test/e2e/test_dynamic.sh index 2545904..8b03e4d 100644 --- a/test/e2e/test_dynamic.sh +++ b/test/e2e/test_dynamic.sh @@ -3,7 +3,7 @@ # 后端用可扩缩 mock(autoconfig 发现行为不需真推理);真推理/GPU 数据在 resilience/opt 用真 opt-125m。 set -uo pipefail NS=${NS:-llm-route}; CTRL_NS=autoconfig; CHARTS=~/prod-e2e/charts -H=4pdosc; TAG=${IMG_TAG:-0.4.1} +H=4pdosc; TAG=${IMG_TAG:-0.4.2} AC=$H/autoconfig; ACR=$H/autoconfig-reload:$TAG; AH=$H/autoconfig-hagate:$TAG OR_IMG=$H/llm-openresty:0.1.20; CART_IMG=$H/cache_aware_router:0.6.5; MON_IMG=${MON_IMG:?set MON_IMG to an llm-monitor image}; MOCK=python:3.12-alpine KEEP=${KEEP:-0}; FAIL=0 diff --git a/test/e2e/verify_crossns_port.sh b/test/e2e/verify_crossns_port.sh index b888757..21acff8 100644 --- a/test/e2e/verify_crossns_port.sh +++ b/test/e2e/verify_crossns_port.sh @@ -2,10 +2,10 @@ # 验证两个新特性(0.3.8 端口自动推导 + 0.3.22 service ns/name 跨 ns 发现): # 在【别的 ns(xns)】建 ModelRoute,discovery.service=kimi/kimi-k26-leader(跨 ns)、【不写 port】, # 验证仍发现 kimi leader、端口自动 = 8050。前提:kimi LWS 在跑、autoconfig controller 已升到目标 tag。 -# 依赖:autoconfig helm chart($HERE/charts/autoconfig)。用法:IMG_TAG=0.4.1 bash verify_crossns_port.sh +# 依赖:autoconfig helm chart($HERE/charts/autoconfig)。用法:IMG_TAG=0.4.2 bash verify_crossns_port.sh set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" -TAG=${IMG_TAG:-0.4.1} +TAG=${IMG_TAG:-0.4.2} CTRL_NS=${CTRL_NS:-autoconfig} AC=4pdosc/autoconfig AC_CHART=${AC_CHART:-$HERE/charts/autoconfig} diff --git a/test/e2e/verify_status_error.sh b/test/e2e/verify_status_error.sh index 1527c69..03fd796 100644 --- a/test/e2e/verify_status_error.sh +++ b/test/e2e/verify_status_error.sh @@ -1,10 +1,10 @@ #!/usr/bin/env bash # 验证:发现失败(多端口 Service 未显式配 port)时,原因写进 ModelRoute status(DiscoverError), # kubectl describe/get 看得到——而非只进 controller 日志。前提:controller 已升到目标 tag。 -# 依赖:autoconfig helm chart($HERE/charts/autoconfig)。用法:IMG_TAG=0.4.1 bash verify_status_error.sh +# 依赖:autoconfig helm chart($HERE/charts/autoconfig)。用法:IMG_TAG=0.4.2 bash verify_status_error.sh set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" -TAG=${IMG_TAG:-0.4.1} +TAG=${IMG_TAG:-0.4.2} CTRL_NS=${CTRL_NS:-autoconfig} AC=4pdosc/autoconfig AC_CHART=${AC_CHART:-$HERE/charts/autoconfig}