K8s 是 Kubernetes 的縮寫,K8s 是個能協助管理微服務(Microservices)的系統,可自動化部署、管理多個容器(Container)。本文除了要帶你了解 K8s 的基礎概念、元件介紹、基本部署教學外,還要探討為什麼要選擇使用 K8s 及其帶來的優勢,並介紹 Helm 可如何簡化和優化在 Kubernetes 上的應用管理。
為什麼要用 K8s?
K8s 是一個由 Google 開發可自動化部署、擴展和管理容器的開源系統。使用 K8s 可以帶來多方面的優勢,主要是因為 K8s 具備了以下3大功能。
1. 自動化作業
K8s 能自動處理繁瑣的應用程式管理工作,並自動監測運行中容器的狀態,以隨時確保服務有按照預期的方式運行。
2. 擴展性靈活
K8s 會自動調節 Pods 或 Nodes 以因應應用程式的流量,確保應用程式在高峰期時能穩定運行,而當負載較低時縮減資源、減少浪費。
3. 跨平台特性
K8s 能夠在私有雲、公有雲或混合雲等不同雲服務供應商和本地數據中心之間無縫運行,具備高靈活性。
K8s 基礎概念&元件介紹
接下來,我們將介紹 K8s 的基礎元件 Pod 及 Node 的概念,以及 Deployment、Service 的用途,會讓你更容易理解 K8s 的運作原理。
-
Pod:是 K8s 中最小的部署單位,每個 Pod 代表一個應用程式,且內部可以包含一個或多個容器(Container),而同一個 Pod 裡面的 Containers,則會共享相同的網路資源。
-
Node:即所謂的節點,一個 K8s 叢集包括一個或多個 Node,其中有一個 Master Node 負責整個叢集的管理和協調。
-
Deployment:用來管理 Pod 的創建和調度,並確保 Pod 按照指定的數量在運行;此外,Deployment 可用來進行滾動更新(Rollout)和回滾(Rollback)等操作。
-
Service:提供穩定的 IP 和 DNS 名稱,即使底層的 Pod 發生變化,Service 的地址也不會改變。
📖 延伸閱讀:Kubernetes是什麼?K8s基礎元件及3大優勢完整解析!
K8s 基本部署教學
部署 Kubernetes 集群有幾種方式,包括:本地使用 Minikube 和在雲端使用 Google Kubernetes Engine (GKE) 或 Amazon Elastic Kubernetes Service (EKS)。以下是使用 Minikube 部署 Kubernetes 集群的基本步驟,以及在雲端環境(如 GKE 和 EKS)部署 Kubernetes 的簡單介紹。
-
使用 Minikube 部署 Kubernetes 集群
1. 安裝 Minikube 和 kubectl
-
安裝 Minikube
在 macOS 上,可以使用 Homebrew
在 Windows 上,可以使用 Chocolatey
-
安裝 kubectl
在 macOS 上,可以使用 Homebrew
在 Windows 上,可以使用 Chocolatey
2. 啟動 Minikube
啟動 Minikube 以創建 Kubernetes 集群
3. 驗證集群狀態
使用 kubectl 檢查集群狀態
4. 部署應用程序
創建一個 Deployment
暴露 Deployment 作為服務
5. 訪問應用程序
獲取應用程序的 URL
-
在 GKE 部署 Kubernetes
1. 設置 GKE 環境
安裝和配置 gcloud CLI
2. 創建 GKE 集群
使用 gcloud 命令創建 GKE 集群
3. 配置 kubectl
獲取集群憑證並配置 kubectl
4. 部署應用程序
使用 kubectl 部署應用程序,類似於 Minikube 的步驟
-
在 EKS 部署 Kubernetes
1. 設置 EKS 環境
安裝和配置 AWS CLI 和 eksctl
2. 創建 EKS 集群
使用 eksctl 命令創建 EKS 集群
3. 配置 kubectl
eksctl 會自動配置 kubectl,確保可以訪問新建的集群
4. 部署應用程序
使用 kubectl 部署應用程序,與在 Minikube 和 GKE 中的步驟類似
Helm 是什麼?可如何協助應用 K8s?
Helm 是用於管理 K8s 應用程式的解決方案,可大幅降低運作複雜的 K8s 服務所需的時間成本,同時也降低了進入 K8s 進階應用的門檻。開發者透過使用 Helm Charts 這套系統,可以幫助簡化 K8s 應用程式的部署、升級和管理過程,使得在 K8s 上運行和維護複雜的應用程式變得更加容易、效率更高。此外,Helm 的模板化和版本控制功能,提供了靈活的應用管理方式,有助於維持 K8s 叢集的穩定和一致。
Kubernetes 實戰培訓課程推薦
蓋亞資訊是臺灣首家經 CNCF 認證的雲服務供應商,提供 Kubernetes 實戰培訓課程,特別適合想成為 K8s 管理者、想要通過 CKA/CKAD 認證考試、需要設置或維護 K8s 叢集的人士,以及軟體開發人員、DevOps 工程師和系統管理員。
授課內容使用 Linux Foundation 原廠授課教材,內容緊跟 Kubernetes 的最新版本。課程除了講解 K8s 知識外,進行動手操作的實作 Lab ,以及回顧課程重點等,都能有效幫助企業快速掌握 Kubernetes 的核心技術。心動了嗎?歡迎立即報名加入我們的 Kubernetes 實戰培訓課程!點擊 報名連結 與我們聯繫參加課程,讓我們幫助你快速了解 Kubernetes 並立即上手。