先前已經有K8s架構與元件的概略性介紹,接下來幾天預計將重要的核心資源說明,並搭配Yaml file實際操作演練。
如同先前所描述的,Pod是K8s中最基本的可部署單位,包含一個或多個容器,依此也區分為以下兩種情形:
運行單一容器的Pod
每一個Pod對應一個容器是最常見的使用方式,可以想像成在container外新增一層wrapper。
運行多個協同工作容器的Pod
這些containers互相緊密耦合,同時共享相同的網路與儲存資源,作為一個單元。
其中Multi-Container Pod又可分為以下幾種Pattern:
Sidecar
擴展現有主要container的功能,會跟隨主要container的生命週期,負責非核心功能,作為輔助角色。
可參考此文,說明非常詳盡。
Adapter
用於適應特定的協定或資料格式,例如將資料格式或協定從一種服務轉換為另一種服務。
Ambassador
隱藏內部服務的實作細節,將外部服務抽象化並提供統一的接口,使外部服務管理和擴展變得更容易,換句話說,當外部環境有所更動時,只需要更改Ambassador container即可。
當啟動該Pod時,必須先運行initContainer。具體來說,它是用於執行初始化任務,按照initContainer區塊中容器順序一一啟動直到完成,以確保在主要container開始運作之前,某些服務或相依性正在執行。
每一個Part細節很多,若未實際操作或使用過,仍舊會有些觀念或概念難以釐清