三十天,從 kubeadm init 敲下的第一行指令,到最後一天完成叢集版本升級——我們一步步建起了一套完整的 Kubernetes 知識體系。 回頭看,這趟...
前言 還記得 Day 01 我們用 kubeadm 建立了 Kubernetes v1.34 叢集嗎? 當時特別保留了一個 minor version 的升級空...
前言 昨天,我們用 cert-manager 自動簽發了 TLS 憑證,也實際看到了 Custom Resource、Controller 與 Secret 之...
前言 昨天,我們學會了 CRD 與 Operator 的原理,還用 Shell Script 寫了一個簡易 Controller。 今天我們要來認識一個 Kub...
前言 昨天,我們使用 Gateway API 來管理流量入口。 過程中你一定注意到:我們先安裝了 Gateway API 的 CRD(例如 GatewayCla...
前言 在 Day6 中,我們學會了用 Ingress 統一管理微服務的入口流量,透過 Path 與 Host 將請求導向不同的 Service。 但隨著流量管理...
前言 昨天,我們學會了用 RBAC 控制「誰能對 Kubernetes API 做什麼操作」。 但還有另一個重要問題: Pod 之間的網路流量要怎麼限制?...
前言 在 Day 8 介紹 Secret 時,我們曾經提到 RBAC,因為 Secret 能不能被讀取,取決於使用者或 ServiceAccount 是否被授予...
前言 經過 Day 21~22,我們已經能從零建立 Helm Chart,並透過 _helpers.tpl、多環境 values、功能開關等技巧,讓 Chart...
前言 昨天我們從零手寫了一個精簡的 Helm Chart,成功部署了 Nginx。 但仔細看 deployment.yaml 和 service.yaml,會發...
前言 Day 20 我們學會了使用別人提供的 Helm Chart —— 包含搜尋、安裝、升級、回滾與移除等基本操作。 但如果今天想把自己開發的應用程式也打包成...
前言 到 Day 19 為止,我們已經學了很多 Kubernetes 資源:Deployment、Service、Ingress、ConfigMap、Secre...
前言 昨天我們學了 Sidecar Container —— Pod 內多 Container 協作的核心模式,讓輔助 Container 可以持續協助主要 C...
前言 昨天我們學了 Init Container —— Pod 啟動前的初始化機制。 Init Container 的特性是「完成任務後就退出」,主要負責在主要...
前言 昨天我們結束了排程系列(Day 12–16),從「Pod 該去哪裡」一路學到「資源不足時誰應該優先」。 但回頭想想,到目前為止我們討論的 Pod,大多都是...
前言 昨天我們學了 topologySpreadConstraints —— 讓 Pod 在不同 Node 或 Zone 之間更均勻地分散。 到目前為止,排程系...
前言 昨天我們學了 Pod Affinity 與 Anti-Affinity,用來控制 Pod 之間的排程關係。 其中 Pod Anti-Affinity 可以...
前言 昨天我們學了 Node Affinity 和 Taints & Tolerations —— 一個是 Pod 選 Node,一個是 Node 限制...
前言 昨天我們認識了 kube-scheduler 的排程流程:Filtering → Scoring → Binding,也學會用 requests 和 li...
前言 到目前為止,我們學了很多「怎麼建東西」—— Deployment、Service、ConfigMap、PV、StatefulSet…… 但有一個問題我們一...
前言 昨天我們學完了 Kubernetes 儲存三兄弟 —— PV、PVC、StorageClass,讓儲存資源可以自動建立並完成綁定。 但到目前為止,我們使用...
前言 昨天我們學會了用 PV 和 PVC 把儲存從 Pod 中抽離,讓資料在 Pod 被重建後依然可以保留。 但整個流程有一個很現實的問題: 每個 PV 都要管...
前言 昨天我們用 Secret 將密碼、API Key、憑證等機密資訊與一般設定分開管理 不過,還有一個更根本的問題沒有處理: Pod 重啟後,裡面的資料去哪了...
前言 昨天我們用 ConfigMap 把設定從 Image 中抽離,解決了「設定與應用程式耦合」的問題。 不過,還有一個重要問題: 資料庫密碼、API Key、...
前言 到目前為止,我們已經完成了 Pod → Service → Ingress 的完整流量路徑。不過,回到實際的應用程式部署,還有另一個重要問題: 應用程式除...
前言 昨天我們拆解了 Service 背後的轉發機制 — Label Selector、Endpoints、kube-proxy,搞清楚流量是怎麼從 Clust...
前言 昨天我們體驗了三種 Service 類型,知道 Service 能提供穩定入口、自動負載均衡。 但你有沒有想過:當流量打到 Service 的 Clust...
前言 昨天,我們透過 HPA 讓 Pod 副本數能依照負載自動調整:負載升高時增加 Pod,負載降低後逐步減少 Pod。 不過,當 Pod 數量發生變化時,使用...
前言 昨天我們用 kubectl scale 手動調整了 Deployment 的副本數,但在真實環境裡,流量高峰和低谷是動態的,不可能 24 小時盯著手動擴縮...
前言 上一篇我們用 kubeadm 把叢集建起來了,今天終於可以開始部署東西了! 在 Kubernetes 的世界裡,Pod 是最小的部署單位,而 Deploy...