From 925c1f3288fd346062ac96f8b7036c837644ba6d Mon Sep 17 00:00:00 2001 From: Pinghao Wu Date: Sat, 21 Sep 2024 17:58:32 +0800 Subject: [PATCH] Architecture: AlwaysPullImages --- Sections/4.Architecture.tex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sections/4.Architecture.tex b/Sections/4.Architecture.tex index 91b7c9f..441cce0 100644 --- a/Sections/4.Architecture.tex +++ b/Sections/4.Architecture.tex @@ -73,6 +73,12 @@ CSKloud 達成一代願景中的開放使用者直接存取 Kubernetes API,使 為了避免一般使用者濫用這個機制,我們採用 PodTolerationRestriction 來限制使用者能填寫的 tolerations。PodTolerationRestriction 可以針對 Namespace 設定其中 Pods 可使用的 tolerations 白名單,我們將其限制為只允許系統內部會預設填入的項目。 +\subsection{AlwaysPullImages} + +在 Kubernetes 下,容器 images 的下載策略(\verb|imagePullPolicy| 欄位)有三種:\verb|Always|、\verb|IfNotPresent| 與 \verb|Never|。\verb|Always| 在啟動容器之前總是會檢查容器的 image 的更新,若有更新即重新下載;\verb|IfNotPresent| 是當節點上尚未有該 image 時才會下載;\verb|Never| 則是不主動下載,仰賴節點上的存放狀況。在容器結束執行後,Kubernetes 並不會主動刪除 image 資料,而是只有在儲存空間有壓力時才會刪除,藉此減少下載 image 的負擔。 + +在容器生態下,images 主要可分為公開存取以及私人的兩種。下載公開存取的 images 不須經過身份驗證,而私人的 images 則是需要。由於 \verb|IfNotPresent| 與 \verb|Never| 在節點已經存有指定 image 時,不會進行任何更新檢查,因此也不需進行身份驗證,如此在共用叢集的狀況下,便形成了一個可能用來存取他人遺留在節點上的私人 images 的途徑。對此,我們採用 AlwaysPullImages 將下載策略一律複寫為 \verb|Always|。 + \section{權限開通實做} \section{網頁界面實做} -- 2.45.2