• 主題
  • 什麼是 Kubernetes?

什麼是 Kubernetes?

隨著機構逐漸廣泛採用容器,以容器為中心的管理軟體 Kubernetes 就成為部署和操作容器化應用程式的實質標準。Kubernetes 起源於 Google Cloud,我們先在 Google 開發 Kubernetes,隨後在 2014 年發布為開放原始碼。Google 憑藉執行容器化工作負載 15 年的經驗,並融合開放原始碼社群寶貴的貢獻,才建構出 Kubernetes。受到 Google 內部叢集管理系統 Borg 的啟發,Kubernetes 把所有部署和管理應用程式相關環節都精心簡化。Kubernetes 以自動化方式提供容器調度管理,能提升作業可靠性,並減少分配至日常運作的時間和資源。

這篇文章將進一步說明 GKE,也就是 Google Cloud 的代管 Kubernetes。

Kubernetes 的定義

Kubernetes (有時會使用縮寫 K8s,8 是 K 到 s 中間的英文字母個數) 是開放原始碼系統,可在任何位置部署、擴充及管理容器化的應用程式。

Kubernetes 會自動執行容器管理的操作工作,並內建有多種指令,可用於部署應用程式、逐步推行應用程式的變更、因應多變的需求調度應用程式資源、監控應用程式等,進一步簡化應用程式的管理。

Kubernetes 的好處有哪些?

自動化作業

Kubernetes 內建有各種指令,可用於處理許多繁重的應用程式管理工作,協助您將日常作業自動化,還能確保應用程式始終完全按照預期方式進行。

基礎架構抽象層

Kubernetes 在安裝後,就會代替您的工作負載處理運算、網路和儲存。如此一來,開發人員就可以專注在應用程式上,不需要擔心基礎環境。

服務健康狀態監控

Kubernetes 會持續對服務執行健康狀態檢查,重新啟動失敗或暫停的容器,並只於確認容器都已經成功運行時,才讓使用者使用服務。

Kubernetes 與 Docker

比較 Kubernetes 與 Docker 時,常會落入非此即彼的陷阱,兩者雖然是用於執行容器化應用程式的不同技術,卻能互相補足彼此的不足。

Docker 會讓您將執行應用程式所需的全部資源都放到一個箱子裡,這個箱子可以在需要的時間和位置儲存及開啟。一旦開始對應用程式進行封裝,就需要一種方法管理,這就是 Kubernetes 派上用場的地方。

Kubernetes 是希臘文,是船長的意思。就像船長負責海上航行安全一樣,Kubernetes 要負責將這些箱子安全運送到可以使用的位置。

  • 不論有無 Docker,Kubernetes 都能使用
  • Docker 無法取代 Kubernetes,所以不是「非此即彼」的關係,將 Kubernetes 與 Docker 結合使用,不但可以將應用程式容器化,還能大規模執行應用程式
  • Docker 和 Kubernetes 之間的差異與各自在容器化和執行應用程式中所扮演的角色有關
  • Docker 是開放業界標準,用於將應用程式封裝並分散到容器中
  • Kubernetes 可使用 Docker 部署、管理和擴充容器化應用程式

Kubernetes 的用途有哪些?

Kubernetes 可用於建立易於管理和部署到任何環境的應用程式。Kubernetes 以代管服務提供時,可提供各種解決方案滿足您的需求,以下是一些常見的用途。

加快開發速度

Kubernetes 可以協助建構以微服務為基礎的雲端原生應用程式,同時也支援現有應用程式的容器化,進而成為應用程式現代化改造的基礎,讓您可以更快開發應用程式。

在任何環境中部署應用程式

Kubernetes 可在任意位置使用,無論是現場部署和公用雲端,還是混合式部署,都能執行應用程式。也就是說,您可以在任何需要的地方執行應用程式。

執行高效率服務

Kubernetes 可以自動調整執行服務所需的叢集大小,讓您可以根據需求自動調度應用程式的資源,更有效率地執行應用程式。

Google Kubernetes Engine (GKE) 由建構 Kubernetes 的同一批開發人員打造而成,是易於使用的雲端式 Kubernetes 服務,適用於執行容器化應用程式。GKE 可協助您對雲端應用程式實施成功的 Kubernetes 策略,Google 透過 Anthos 讓您無論是將 Kubernetes 用於內部部署或多雲端應用程式,都能享有一致的體驗。有了 Anthos,您就能在任何位置以穩定、安全且有效率的方式執行 Kubernetes 叢集。