iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Kubernetes

金絲雀自動化晉升與退版實作 系列

我參加了 IThome 在 2026 年 4 月 23 日舉辦的首屆「Observability Day 可觀察性技術日」, 對那天的主題 <金絲雀部署的可觀測性實踐> 很感興趣, 於是就用自己能理解的方式做了一個「精簡版」的 POC 專案, 重點放在「串接不同的技術棧」. 分成四個主要階段, 並且盡量讓技術棧之間「去耦化」, 可以讓讀者替換自己習慣的工具.
讀者可以在 30 天的文章和公開的原代碼裡, 了解一個基本的金絲雀部署如何做到自動增加流入的負載量, 以及如何在發生問題時自動停止金絲雀服務, 並且透過 OTel, Prometheus 和 Grafana 定位問題.

參賽天數 21 天 | 共 21 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 10:QA 怎麼用一個 Header 精準訪問 Canary

今天的工作 介紹「QA 要能精準存取 Canary」這個需求,以及做法 看 opa plugin 送給 OPA service 的請求裡,HTTP heade...

2026-09-24 ‧ 由 goldmangolabs 分享
DAY 12

Day 11:內部員工用 Cookie 存取 Canary

今天的工作 介紹「內部員工要能存取 Canary,但不能靠 Header」這個需求,以及做法 看 opa plugin 送給 OPA service 的請求裡...

2026-09-25 ‧ 由 goldmangolabs 分享
DAY 13

Day 12:這個 request 是從 Stable 還是 Canary 來的?

今天的工作 提出一個新問題:demo-app 呼叫下游微服務時,下游怎麼知道這是不是金絲雀流量 認識 Baggage:另一個由 OTel Agent 自動搬運...

2026-09-26 ‧ 由 goldmangolabs 分享
DAY 14

Day 13:驗證 Baggage —— middle-app 登場

今天的工作 讓 OPA 的 Rego 除了算出 x-route-to,也一起算出 baggage——延伸 Day08 已經介紹過的判斷式 引入 middle-...

2026-09-27 ‧ 由 goldmangolabs 分享
DAY 15

Day 14:一行代碼切斷金絲雀災難——GitOps 宣告式回滾

今天的工作 認識 Kill Switch:一個全域開關,出事故時不用碰任何 Deployment/kubectl,就能瞬間切斷金絲雀流量 在 Day08-11...

2026-09-28 ‧ 由 goldmangolabs 分享
DAY 16

Day 15:OTel Collector 上線

今天的工作 用 OTel collector 收集監控用的數據 部署 Collector Agent(每個節點一份的 DaemonSet)與 Collecto...

2026-09-29 ‧ 由 goldmangolabs 分享
DAY 17

Day 16:驗證 OTel Java Agent 數據拋轉至 Collector

今天的工作 佈署 Prometheus(用 kube-prometheus-stack) 驗證 OTel Java Agent 產生的資料,真的有送到 Col...

2026-09-30 ‧ 由 goldmangolabs 分享
DAY 18

Day 17:閘道監控,讓 APISIX 自己開口說話

今天的工作 用 APISIX 原生的 prometheus 插件,在閘道層收集監控數據 驗證這些數據真的送到 Prometheus Day15/16 拿到的...

2026-10-01 ‧ 由 goldmangolabs 分享
DAY 19

Day 18:分散式追蹤 — 讓 APISIX 也加入 Trace 的行列

今天的工作 部署 Grafana Tempo,把 OTel Collector Gateway 的 Trace pipeline 從 debug export...

2026-10-02 ‧ 由 goldmangolabs 分享
DAY 20

Day 19:日誌關聯 — 讓一個 trace_id 同時查到 gateway 與 demo-app 的日誌

今天的工作 部署 Loki,日誌的儲存與查詢後端 啟用 APISIX 的 file-logger 插件,讓 gateway 日誌多帶 trace_id 欄位...

2026-10-03 ‧ 由 goldmangolabs 分享