OoO
7a10d27d61
CD Pipeline / deploy (push) Has been cancelled
feat(p53): K8s Nginx Proxy 支援 — host_label/provider_tag 補完
問題:
K8s 內網無法直連 GCP 公網 11434,所以 110 跳板架了 Nginx Proxy
轉發 11435/11436 到 GCP-A/GCP-B。但 services/ollama_service.py 的
get_host_label() 只看 IP substring(34.143.170.20 / 34.21.145.224),
K8s 環境會 fallback 到「未知」造成觀測台主機標籤錯亂。
修補:
- services/ollama_service.py::get_host_label
新增:
192.168.0.110:11435 → "GCP-SSD(via Nginx 110)"
192.168.0.110:11436 → "GCP-SSD-2(via Nginx 110)"
保留:直連 GCP / 111 / 188 / localhost 既有判斷
- services/ollama_service.py::get_provider_tag(新函式)
統一 provider 標籤判斷(之前散落 code_review_pipeline 等多處重寫):
GCP 直連 + Nginx 11435 → 'gcp_ollama'
GCP-B 直連 + Nginx 11436 → 'ollama_secondary'
111 → 'ollama_111'
其他 → 'ollama_other'
跨環境統一:ai_calls.provider 在 docker-compose / K8s 都記同一 tag,
跨環境統計不分裂。
- services/code_review_pipeline_service.py:233
改用統一 get_provider_tag(),移除原本 hardcode 的 if/else IP 判斷。
- k8s/02-configmap.yaml(user 已改)
OLLAMA_HOST_PRIMARY = http://192.168.0.110:11435 (Nginx → GCP-A)
OLLAMA_HOST_SECONDARY = http://192.168.0.110:11436 (Nginx → GCP-B)
OLLAMA_HOST_FALLBACK = http://192.168.0.111:11434 (內網)
driver test:
http://34.143.170.20:11434 → GCP-SSD / gcp_ollama
http://192.168.0.110:11435 → GCP-SSD(via Nginx 110)/ gcp_ollama
http://192.168.0.111:11434 → 111 備援 / ollama_111
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 01:09:56 +08:00
..
2026-04-28 15:26:20 +08:00
2026-05-04 20:00:15 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:02:37 +08:00
2026-04-29 23:41:03 +08:00
2026-04-29 23:57:36 +08:00
2026-05-04 10:48:22 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:56:00 +08:00
2026-05-01 16:34:13 +08:00
2026-04-25 03:30:14 +08:00
2026-05-03 23:05:11 +08:00
2026-05-04 11:00:04 +08:00
2026-04-29 23:41:03 +08:00
2026-05-01 16:34:13 +08:00
2026-04-29 21:35:56 +08:00
2026-05-02 14:34:30 +08:00
2026-05-05 01:09:56 +08:00
2026-05-01 20:56:17 +08:00
2026-04-19 01:21:13 +08:00
2026-05-04 10:36:56 +08:00
2026-04-28 13:57:44 +08:00
2026-04-28 15:37:07 +08:00
2026-04-27 21:28:23 +08:00
2026-05-02 13:07:30 +08:00
2026-04-22 01:12:23 +08:00
2026-05-04 10:19:13 +08:00
2026-05-02 13:09:34 +08:00
2026-05-03 23:26:18 +08:00
2026-05-03 23:06:08 +08:00
2026-04-30 13:59:12 +08:00
2026-04-30 09:33:39 +08:00
2026-05-02 15:01:55 +08:00
2026-05-04 11:12:52 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 21:11:52 +08:00
2026-05-03 23:56:12 +08:00
2026-05-03 13:10:55 +08:00
2026-04-28 19:42:05 +08:00
2026-05-04 09:16:39 +08:00
2026-05-04 10:19:13 +08:00
2026-05-04 10:54:12 +08:00
2026-04-27 21:28:23 +08:00
2026-05-04 09:34:21 +08:00
2026-04-25 01:42:40 +08:00
2026-05-04 09:34:21 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-05-03 23:28:45 +08:00
2026-04-29 22:48:24 +08:00
2026-04-29 22:37:20 +08:00
2026-05-05 01:09:56 +08:00
2026-04-29 23:10:27 +08:00
2026-05-02 13:04:18 +08:00
2026-05-04 10:19:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-20 06:09:33 +08:00
2026-04-19 01:21:13 +08:00
2026-04-22 01:12:23 +08:00
2026-05-03 13:10:15 +08:00
2026-05-04 18:55:39 +08:00
2026-05-02 12:00:34 +08:00
2026-05-04 09:31:31 +08:00
2026-05-04 11:12:52 +08:00
2026-04-27 21:28:23 +08:00
2026-05-03 00:03:38 +08:00
2026-05-03 23:56:12 +08:00
2026-05-02 12:01:04 +08:00
2026-05-03 23:04:58 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 20:34:15 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:20:09 +08:00