返回

Kubernetes(K8S)介紹

Kubernetes(K8S)是一套由Google設計出來用於自動化部署、擴展與管理容器化應用程式的開源系統,它支援了多種不同的容器工具如Docker等。同時也被許多公司用於開發產品,如Rancher Labs、OpenShift、Tectonic、EcOS、PKS及IBM私有雲產品等。

Kubernetes(K8S)

Kubernetes本身由三種元件組成:Pod、Worker Node、Master Node。

Pod

Pod是Kubernetes中最小的運作單位,每個Pod都會對應到一個應用程式。
一個Pod通常存在一個或以上的容器,在同一個Pord中的容器則會共享網路資源,透過內部Port進行溝通,但考量到資源的總量有限一個Pod最好只存在一個容器

Worker Node

Worker Node是Kubernetes最小的硬體單位在此簡稱為Node,一個Node對應到的是一台實體或是虛擬機器,每個Node中都還有三個元件。

  • kubelet : 負責管理所有Node中的Pod狀態及Master Node溝通
  • kube-proxy : 負責提供給Kubernetes中其他Node目前Node中所有Pod的最新狀態
  • Container Runtime : 負責容器執行的程式

Master Node

Master Node 是Kubernetes的指揮中心,負責管理所有Node,其中有四個元件:

  • kube-apiserver : 作為Node之間溝通的橋樑, 提供請求的身分認證與授權
  • etcd : 做為整個Kubernetes備份中心,在Master發生異常時可快速還原至正常狀態
  • kube-scheduler : 負責將新建立的Pod分派到適合的Node中,其根據Node的規則與硬體限制條件等資訊來進行
  • kube-controller-manager : 負責管理所有處理程序, 並隨時監控環境資源使用,包含Node數量增減、處理程序指派等

Liferay支援在K8S上做自動化部署管理,以及Docker上的部署。