iT邦幫忙

kubernetes相關文章
共有 1158 則文章
鐵人賽 Kubernetes DAY 29

技術 Day 29:用 Helm / Helmfile 把整套 stack 版本化

昨天處理了 Grafana 裡面的設定,今天處理叢集裡面的東西。 前天盤點出三個洞:Loki 的設定只存在叢集裡、Tempo 全吃預設、五個 chart 的版本...

鐵人賽 Kubernetes DAY 28

技術 Day 28:用 Terraform 管叢集外資源,並把 Grafana 設定納入版控

昨天盤點的結論是三個洞:Loki 的設定、Tempo 的顯式設定、五個版本號。今天先處理另一件事——Grafana 裡面的東西。 它跟前面所有東西都不一樣:儀表...

鐵人賽 Kubernetes DAY 23

技術 Day 23:從 SLO 反推告警:burn rate 告警怎麼設

昨天寫了第一則告警,門檻是「300 毫秒內完成的比例 < 95%,撐 10 分鐘」。今天要拆掉這個設計,因為它有問題,而且問題不小。 今天的故障開關:全部...

鐵人賽 Kubernetes DAY 22

技術 Day 22:Alertmanager 實作:路由、分組、抑制與靜音

昨天講原則,今天寫設定。 今天的故障開關:全部關閉 kubectl set env deploy/pricing BUG_SILENT_DISCOUNT=fal...

鐵人賽 Kubernetes DAY 21

技術 Day 21:好告警的三個條件:可行動、有主人、有上下文

昨天把三大支柱串起來,Day 7 的四句天花板只剩最後一句:只能被動查,不會主動通知。今天開始處理它。 這個區塊我要花四天,比 metrics 和 logs 都...

鐵人賽 Software Development DAY 29

技術 [ Day 29 ] DevOps 自動化交付 - GitHub Actions + AWS ECR + K8s 一鍵 CI/CD 零人工干預部署

在前面的章節中,我們已經成功將非同步 S3 微服務搬上了 K8s,實作了雙探針自癒、HPA 自動水平擴充以及 PV/PVC 持久化掛載。 然而,在真實的軟體開發...

鐵人賽 Software Development DAY 28

技術 [ Day 28 ] Pod 重啟資料卻失蹤 : K8s Volume 與 ConfigMap / Secret 打造狀態與機密不崩潰的高可用微服務!

在前面的文章中,我們完成了微服務上 K8s、滾動更新雙探針與 HPA 自動擴充。然而,當我們準備將這套系統推向真實 Production 生產環境時,我們必須確...

鐵人賽 Software Development DAY 26

技術 [ Day 26 ] K8s 分散式節點會比單機Docker 快嗎?實測拆解:Docker vs k8s 3 副本叢集的 QPS、延遲與抗壓邊界

前兩天我們成功將非同步 S3 微服務部署至 Minikube K8s 叢集,並設定了Liveness/Readiness 雙探針實現了 0% 錯誤率的無感發佈,...

鐵人賽 Software Development DAY 24

技術 [ Day 24 ] 告別人工維運 - 從 Docker image 到 K8s 叢集,用 2 個 YAML 檔打造 3 副本高可用微服務

昨天我們學習了高可用性(High Availability, HA)核心思維,並在本地建立好了 Minikube 測試叢集與 kubectl 命令列工具。 今天...

鐵人賽 Software Development DAY 25

技術 [ Day 25 ] k8s 剛啟動的 Pod 偷偷吃流量?實測 Readiness/Liveness 達到無感滾動更新 (Zero-Downtime) !

昨天我們成功撰寫了 Deployment 與 Service YAML 檔,將非同步 S3 微服務部署至 Minikube 叢集,並親眼驗證了當 Pod 被殺掉...

鐵人賽 Kubernetes DAY 16

技術 Day 16:LogQL 實戰:反查 Day 6 埋的第一個故障

今天是這個系列第一次破案。 Day 6 埋了三個故障,第一個是「算錯價但回 200」——部分商品沒套到折扣,狀態碼正常、速度正常、錯誤率 0。Day 7 用 k...

鐵人賽 Software Development DAY 23

技術 [ Day 23 ] 為什麼 Docker 單機一定會崩潰?高可用 (HA) 叢集與告別人工維運的救星 K8s

前幾天我們利用Docker完成了非同步 S3 微服務的容器化、架設了 Prometheus + Grafana 監控鏈路,並透過 JMeter 壓測驗證有無保護...

鐵人賽 Kubernetes DAY 13

技術 Day 13:自己埋指標與它的代價:counter/histogram、cardinality 與 label 設計

昨天把 pricing 擴成兩份,發現流量全壓在同一個 Pod 上,結論是「聚合會藏東西」。而聚合藏不藏得住,取決於當初把什麼寫進標籤裡。 這是 Metrics...

鐵人賽 Kubernetes DAY 12

技術 Day 12:擴容之後,為什麼另一半的 Pod 沒收到流量

昨天講完 USE 和 RED 兩套方法論,也把三個服務的 RED 九宮格做出來了。今天做另外一半:節點的 USE。 然後我打算做一個小實驗,把 pricing...

鐵人賽 Kubernetes DAY 7

技術 Day 7:kubectl 看得到什麼、看不到什麼

今天要做一件有點反直覺的事:故意不裝任何監控工具,只用 kubectl 去查昨天埋的那三個故障。 為什麼要花一天做一件註定失敗的事?因為我認為實際體驗一次少了工...

鐵人賽 Kubernetes DAY 6

技術 Day 6:在 K8s 上部署一個「會壞」的示範服務:三種故意埋進去的故障

昨天叢集開好了,今天要往裡面放東西。 我們要建立一個壞掉的服務,但是不會壞的太明顯。 沒有一個故障是「服務掛掉」。 服務掛掉其實是最好查的,Pod 會變紅、...

鐵人賽 Kubernetes DAY 5

技術 Day 5:用 kind 在筆電上開一個能重現問題的 K8s 叢集

前面四天的觀念講完了,今天正式開始動手。 這篇的目標其實很小,就是把一個叢集開起來,然後說明為什麼是這樣開的。但是「為什麼」的部分比指令重要,網路上教你打 ki...

鐵人賽 Kubernetes DAY 1

技術 Day 1:面試被問可觀測性,我只答得出「看log有沒有error」

起心動念 前陣子在求職的時候常常被問到 k8s 相關的問題,觀測的指標有哪些,但我總是一問三不知,只能說出查看 log 有沒有 error。面試結束後我拼命去查...

鐵人賽 Kubernetes DAY 30

技術 鐵人三十天總結

三十天,從 kubeadm init 敲下的第一行指令,到最後一天完成叢集版本升級——我們一步步建起了一套完整的 Kubernetes 知識體系。 回頭看,這趟...

鐵人賽 Kubernetes DAY 30

技術 Day 30|Kubernetes 叢集升級 — 使用 kubeadm 從 v1.34 升到 v1.35

前言 還記得 Day 01 我們用 kubeadm 建立了 Kubernetes v1.34 叢集嗎? 當時特別保留了一個 minor version 的升級空...

鐵人賽 Kubernetes DAY 29

技術 Day 29|etcd — Kubernetes 的狀態資料核心

前言 昨天,我們用 cert-manager 自動簽發了 TLS 憑證,也實際看到了 Custom Resource、Controller 與 Secret 之...

鐵人賽 Kubernetes DAY 28

技術 Day 28|cert-manager — 自動申請、管理與續約 Kubernetes TLS 憑證

前言 昨天,我們學會了 CRD 與 Operator 的原理,還用 Shell Script 寫了一個簡易 Controller。 今天我們要來認識一個 Kub...

鐵人賽 Kubernetes DAY 27

技術 Day 27|CRD 與 Operator — 擴展 Kubernetes API,打造自訂資源與控制器

前言 昨天,我們使用 Gateway API 來管理流量入口。 過程中你一定注意到:我們先安裝了 Gateway API 的 CRD(例如 GatewayCla...

鐵人賽 Kubernetes DAY 26

技術 Day 26|Gateway API — Kubernetes 的下一代流量入口管理

前言 在 Day6 中,我們學會了用 Ingress 統一管理微服務的入口流量,透過 Path 與 Host 將請求導向不同的 Service。 但隨著流量管理...

鐵人賽 Kubernetes DAY 25

技術 Day 25|NetworkPolicy — Kubernetes 的網路策略與零信任隔離

前言 昨天,我們學會了用 RBAC 控制「誰能對 Kubernetes API 做什麼操作」。 但還有另一個重要問題: Pod 之間的網路流量要怎麼限制?...

鐵人賽 Kubernetes DAY 24

技術 Day 24|RBAC — Kubernetes 的角色權限控制

前言 在 Day 8 介紹 Secret 時,我們曾經提到 RBAC,因為 Secret 能不能被讀取,取決於使用者或 ServiceAccount 是否被授予...

鐵人賽 Kubernetes DAY 23

技術 Day 23|Helm Repository 與 Chart 依賴管理

前言 經過 Day 21~22,我們已經能從零建立 Helm Chart,並透過 _helpers.tpl、多環境 values、功能開關等技巧,讓 Chart...

鐵人賽 Kubernetes DAY 22

技術 Day 22|Helm 進階模板與 `_helpers.tpl` — 讓 Chart 更靈活、更好維護

前言 昨天我們從零手寫了一個精簡的 Helm Chart,成功部署了 Nginx。 但仔細看 deployment.yaml 和 service.yaml,會發...

鐵人賽 Kubernetes DAY 21

技術 Day 21|打造你的第一個 Helm Chart

前言 Day 20 我們學會了使用別人提供的 Helm Chart —— 包含搜尋、安裝、升級、回滾與移除等基本操作。 但如果今天想把自己開發的應用程式也打包成...