Recent posts

Kubernetes 從零開始 - 如何在 MicroService 架構下,跨服務找出 API 效能瓶頸

category: kubernetes     7 minute read     Posted on:

Define Observable System 服務其實不太可能是完全穩定的,總會有一些問題發生 不論是 application 自身的 bug 還是因為 cloud provider 主機異常掉線 這些問題都會對服務造成影響

Kubernetes 從零開始 - 透過 Argo Workflows 管理 CRD 執行順序

category: kubernetes     7 minute read     Posted on:

Preface 之前我們看過可以使用 Kueue 這類工具達成某種程度的控制,但是它比較是資源傾向的 像是 docker 有提供 $ docker pause 之類的指令,能夠允許你做到 pause and resume 的操作 更進階的需求就會是控制 container 的執行順序

Kubernetes 從零開始 - client-go 實操 CRD

category: kubernetes     3 minute read     Posted on:

Extend Kubernetes Resource Kubernetes 有許多內建的 Resource,像是 Pod, Deployment, Service 等等 但開發者的需求總是不斷的增加,有時候內建的 Resource 並不能滿足商業需求 假設你需要表達一個很複雜的資源,現有的其實寫起來會很複雜

Kubernetes 從零開始 - 如何測試你的 Kubernetes 應用程式?

category: kubernetes     2 minute read     Posted on:

Kubernetes Application Testing 軟體工程裡面測試應用程式是一個很重要的環節,開發 Cloud Native 應用程式的時候也一樣 常見的就是使用 Kubernetes 進行開發,建立 Pod 跑東西之類的 所以很明顯這種邏輯也是需要進行測試覆蓋的

Kubernetes 從零開始 - 資源排隊神器 Kueue

category: kubernetes     4 minute read     Posted on:

Introduction to Kueue 你可以在 Kubernetes 裡面塞入任一數量的 job,但這只是理論上 實務上會因為硬體資源的限制,你只可以執行有限數量的 job Kueue 這個工具可以根據這些 限制,允許有限數量的 job 同時執行 它可以做到一些基礎的排程機制,如 Job 要不要等待,...

設計模式 101 - 分散式交易的另一種作法 Saga Pattern

category: design pattern     1 minute read     Posted on:

Distributed Transaction with 2PC 在 microservices 的架構下,分散式交易是必須面對的問題 我們學過,2PC(Two-Phase Commit) 是其中一種解決方式 透過一個中心化的協調者(coordinator)與所有其他參與交易的服務進行溝通與決策

Kubernetes 從零開始 - 從自幹 Controller 到理解狀態管理

category: kubernetes     10 minute read     Posted on:

Kubernetes Object Kubernetes object 並不是指 Pod 或者是 Deployment 這種 Resource 複習一下,Resource 是所有你可以透過 Kubernetes 使用的物件(操作 kubectl 或Kubernetes API) 而 object 是這些 Reso...

Kubernetes 從零開始 - Helm Controller

category: kubernetes     2 minute read     Posted on:

Introduction to Helm Controller 如果你是使用 Helm chart 來管理你的 Kubernetes 資源 一個常見的需求會是,你可能會需要更新你的 chart 不管是 image version 還是一些設定檔的更新

DevOps - 透過 Helm Chart 建立你自己的 GitHub Action Runner

category: devops     7 minute read     Posted on:

Preface 在 DevOps - 從 GitHub Actions 初探 CI/CD | Shawn Hsu 裡面有提到,你可以使用自架的 local runner 執行你的 GitHub Action 原因不外乎是因為 private repo 沒辦法免費的使用 GitHub 提供的 runner 所以你可...

資料庫 - 如何正確設定高可用的 Redis

category: database     11 minute read     Posted on:

Preface 要如何提高系統的高可用性以及高效能,最常想到的應該就是分散式系統了 基本上你可以發現,不論是哪一段的系統架構,他們通常都會是使用分散式架構以達到高可用性