kubernetes

Kubernetes 從零開始 - Pod 高級抽象 Workload Resources

category: kubernetes     6 minute read     Posted on:

High Level Abstraction 之前提到 Pod 是 Kubernetes 當中部署的最小單位,因為其設計關係(比如說容易被 reschedule 以及被刪除等等),是比較不適合直接操作的 因此 Kubernetes 提供了更高層次的抽象,讓我們可以更方便的管理 Pod 本文將會走過一遍這些更高階的...

Kubernetes 從零開始 - 你的 Volume 到底 Mount 到哪裡去了?

category: kubernetes     9 minute read     Posted on:

Introduction to Kubernetes Volume 從 Docker 的年代開始,掛載 host 的檔案系統不是什麼新鮮事 而 mount 的方式也很直覺,直接指定 host 的檔案路徑,你就能夠在 container 裡面存取相關的資料 到了 Kubernetes,也是有一樣的概念,但是 mou...

Kubernetes 從零開始 - 在分散式的世界實現 Zero Downtime 路由管理

category: kubernetes     16 minute read     Posted on:

Proxy Proxy 是一個中間人,負責處理 client 與 server 之間的溝通請求 相比於 client 直接與 server 溝通,Proxy 的優勢在於可以進行流量控制、負載平衡、安全性控制等 他可以分為兩類 Forward Proxy 以及 Reverse Proxy

Kubernetes 從零開始 - 部署策略 101

category: kubernetes     29 minute read     Posted on:

Scaling Workloads 只有單台機器服務的情況下,多數是不足的 因為你需要考量到,比如說服務突然的不可用(軟體錯誤、硬體故障等等的),或者是流量真的大到一台機器處理不來的情況 這時候你就會需要用到 “scaling” 的概念

Kubernetes 從零開始 - Sidecar 與 Lifecycle Hook 組合技

category: kubernetes     9 minute read     Posted on:

Multiple Container in Pod 誠如我們之前在 Kubernetes 從零開始 - 容器基本抽象 Pod | Shawn Hsu 裡面提到的 Pod 本身其實可以執行多個 Container,只是說平常大家習慣是一個 Pod 一個 Container 而已

Kubernetes 從零開始 - Deployment 管理救星 Helm Chart

category: kubernetes     4 minute read     Posted on:

Preface 你應該有發現,Kubernetes 的佈署過程中你需要撰寫一定數量的 yaml 設定檔 不外乎是 application 的 deployment, 設定檔的 configmap, secret 等等 每次更新這些設定檔的時候,你都需要手動的去修改這些 yaml 檔案 這樣的過程是非常繁瑣且容易出...

Kubernetes 從零開始 - Informer 架構以及 Controller Pattern

category: kubernetes     7 minute read     Posted on:

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

Kubernetes 從零開始 - Self Healing 是如何運作的

category: kubernetes     4 minute read     Posted on:

Application Status 在 Kubernetes 中,一個應用程式的狀態是非常重要的 當一個應用程式不可用,造成的損失是巨大的

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     8 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 要不要等待,...

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

category: kubernetes     11 minute read     Posted on:

Controller Pattern 有關 Controller Pattern 及 Controller 基本概念可以參考 Kubernetes 從零開始 - Informer 架構以及 Controller Pattern | Shawn Hsu

Kubernetes 從零開始 - Helm Controller

category: kubernetes     2 minute read     Posted on:

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

Kubernetes 從零開始 - 容器基本抽象 Pod

category: kubernetes     3 minute read     Posted on:

Abstraction over Container Pod 其實是為了更好的管理 Container 而生的一層抽象層 所以他同時也是最小的部署單位(注意到不是 Container)

Kubernetes 從零開始 - Local 開發測試好朋友 Skaffold

category: kubernetes     1 minute read     Posted on:

Development Obstacles in Kubernetes 不知道你有沒有這種感覺,Kubernetes 對本地開發來說真的挺不友善的(至少以我來說) 除了你要架設一個本地的 Kubernetes Cluster 之外,還要不斷地手動更新 image

Kubernetes 從零開始 - 無痛初探 K8s!

category: kubernetes     7 minute read     Posted on:

Preface 現今網頁服務由於 container 的興起,大幅度的改變了整個 web 的生態系,一切都圍繞著 container 雖然說 container 改變了開發者的工作流程,使得大部分得以簡化,但是仍有一些問題依然存在