iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Kubernetes

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

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

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

Day00:把技術棧串起來

今天的工作 說明這個專案在做什麼 簡單介紹作者 為什麼要做這個專案 這個專案怎麼設計 這個專案在做什麼 這個專案的核心是一套系統,由多個技術棧組成,包含:A...

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

Day01:專案的 4 個階段任務

今天的工作 說明專案背景環境與假設 說明專案的 4 個階段與目標 說明代碼片段的閱讀方式 專案背景環境 我們要做一個金絲雀的佈署架構,並且隨時監控金絲雀版本...

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

Day02:建立 CI/CD pipeline

今天的工作 我們要在 GitHub 建立一個 2 個 git repo,一個用來放 demo-app,另一個用來放 ArgoCD 需要的設定。 建立 CI/C...

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

Day 03:部署 APISIX

今天的工作 介紹 APISIX LoadBalancer 如何與 APISIX 一起工作 佈署 APISIX APISIX 是什麼? APISIX 是一個雲...

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

Day 04:用 ApisixRoute CRD 建立 APISIX 的第一條路由規則

今天的工作 用 ApisixRoute CRD 建立 APISIX 的第一條路由規則 建立第一條路由規則 昨天我們把 APISIX 佈署起來了,原代碼裡也包...

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

Day 05: 同時佈署 demo-app 的 Stable 和 Canary 版本

今天的工作 介紹本專案用來展示金絲雀佈署的 app:demo-app 同時佈署 Stable 和 Canary 兩個版本 demo-app 是什麼? de...

2026-09-19 ‧ 由 goldmangolabs 分享
DAY 7

Day 06:OTel Java Agent 的零侵入式觀測

今天的工作 介紹 OpenTelemetry(OTel)Java Agent 是什麼 幫 Day05 佈署好的 Stable 和 Canary,各自注入 OT...

2026-09-20 ‧ 由 goldmangolabs 分享
DAY 8

Day 07:驗證 HTTP request 送到 Stable,OTel Agent 也真的在運作

今天的工作 用 curl 打 APISIX,從終端機收到的回覆內容,驗證是 Stable 在回應 用一組自製的 traceparent header,驗證 O...

2026-09-21 ‧ 由 goldmangolabs 分享
DAY 9

Day 08:認識 OPA——用 JSON 對話的決策引擎

今天的工作 認識 OPA:一個只用 JSON 對話的決策引擎,以及它「算不出答案,就是完全沒有這個欄位」的特殊行為 幫 APISIX 接上 opa plugi...

2026-09-22 ‧ 由 goldmangolabs 分享
DAY 10

Day 09:接上第二個 Plugin——traffic-split

今天的工作 介紹 APISIX 的 plugin pipeline 的運作方式 認識第二個 plugin:traffic-split 看懂 opa 跟 tr...

2026-09-23 ‧ 由 goldmangolabs 分享