[K8s] Kubernetes – 容器管理工具指南

Intro

Kubernetes - Wikipedia

Kubernetes Documentation

Kubernetes,簡稱 K8s,是一個開源平台,用來自動化部署、擴展以及管理容器化應用程式。最初由 Google 開發,現在由 Cloud Native Computing Foundation (CNCF) 維護,已經成為容器編排的業界標準。

隨著應用程式越來越複雜,手動管理容器變得非常麻煩。K8s 提供了一些強大的功能,讓運維和開發更輕鬆:

  • 自動排程 (Scheduling):智慧地把容器放到資源最優的節點上
  • 自我修復 (Self-Healing):當容器或節點出問題時,K8s 會自動重啟、重新排程或替換
  • 動態擴展 (Scaling):根據流量需求自動增減容器
  • 服務發現 & 負載平衡 (Service Discovery & Load Balancing):自動為容器提供穩定的存取點並分流流量
  • 宣告式管理 (Declarative Configuration):只要用 YAML/JSON 定義好「想要的狀態」,K8s 會自動幫你達成

Key Concepts - 核心概念

Key Term 說明 (Description)
Pod Kubernetes 的最小部署單位,容器的封裝單位,可能包含一個或多個共用網路的容器
Node Cluster 中運行 Pod 的主機,可以是虛擬或實體機器
Master Node / Control Plane Cluster 的管理核心,負責調度 Pod、監控狀態並維護整個系統
Cluster 由多個 Node 組成的環境,K8s 在上面管理工作負載
Deployment 用來定義 Pod 的建立、更新與擴展規則,確保應用狀態符合設定
Service 為 Pod 提供穩定存取點,讓應用對外可用;自動分配流量並支援 Cluster 內的負載平衡,適合單一服務的簡單流量管理
Namespace 用來隔離 Cluster 中的資源與工作負載,方便多團隊或多環境共存
ConfigMap 儲存非敏感設定資料,讓 Pod 在運行時可讀取配置
Secret 安全儲存敏感資訊(如密碼或 API Key),提供 Pod 使用
Ingress Cluster 的統一入口,負責將外部流量路由到不同的 Service;可統一管理多個服務的 URL 路徑、Host、TLS/HTTPS,適合多服務、多路由需求的場景
Egress / NAT / Egress Gateway 針對 Pod 出站流量的概念;Kubernetes 原生沒有統一出站 IP,需要透過 Cloud NAT、CNI 插件 SNAT 或 Service Mesh 的 Egress Gateway 來實現

Diagram

ByteByteGoHq/system-design-101
(Reference: ByteByteGoHq/system-design-101)


Minikube - 本地端工具

適合開發測試使用的本地端 K8S 集群工具,透過單一 Cluster 方便在本地端上演練各種指令操作

Hello Minikube - Kubernetes

minikube start

TBC


References

生態系 (Ecosystem)

Ecosystem

Leave a Reply

Your email address will not be published. Required fields are marked *