M Sections/0.2.Abstract_chinese.tex => Sections/0.2.Abstract_chinese.tex +1 -1
@@ 28,4 28,4 @@
\vspace{1cm}
% 中文摘要及關鍵詞 5-7 個
-\noindent 關鍵字:\textbf{Kubernetes}、\textbf{KaaS}、\textbf{存取控制}、\textbf{網頁代管}、\textbf{開放原始碼}、\textbf{Operator Pattern}
+\noindent 關鍵字:\textbf{Kubernetes}、\textbf{KaaS}、\textbf{存取控制}、\textbf{網頁代管}、\textbf{開放原始碼}、\textbf{operator pattern}
M Sections/0.3.Abstract.tex => Sections/0.3.Abstract.tex +1 -1
@@ 36,4 36,4 @@ This thesis dives into how to design a multi-tenancy architecture based on Kuber
\vspace{1cm}
% 5-7 Keywords (English)
-\noindent Keywords: \textbf{Kubernetes}, \textbf{KaaS}, \textbf{access control}, \textbf{web hosting}, \textbf{open source}, \textbf{Operator Pattern}
+\noindent Keywords: \textbf{Kubernetes}, \textbf{KaaS}, \textbf{access control}, \textbf{web hosting}, \textbf{open source}, \textbf{operator pattern}
M Sections/2.Backgrounds.tex => Sections/2.Backgrounds.tex +1 -1
@@ 27,7 27,7 @@ Kubernetes 提供 RESTful API 做為主要控制手段,以 resources 代表操
\caption{Kubernetes 運作模型簡易示意圖}
\end{figure}
-此架構使得 Kubernetes 在功能面上極易擴展,只須對 kube-apiserver 註冊一個新的 resource 種類,並且實做相關 controller 邏輯,便可以擴展 Kubernetes API。kube-apiserver 除了資料存儲以外,也包含了基本的資料驗證、身份驗證以及相關授權機制,使得 controller 能夠更專注於達成 resource 邏輯的實做,減少擴展開發者的負擔。同時在 resource 本身的設計上,也會盡量使描述的操作是可被重複執行的 (idempotent),令 controller 不須額外維護內部狀態 (stateless),簡化 controller 的部屬管理以及提高容錯空間,使整體系統更為易用且可靠。
+此架構使得 Kubernetes 在功能面上極易擴展,只須對 kube-apiserver 註冊一個新的 resource 種類,並且實做相關 controller 邏輯,便可以擴展 Kubernetes API。運用此機制開發軟體又稱為 operator pattern,將 controller 比擬為自動的營運者。kube-apiserver 除了資料存儲以外,也包含了基本的資料驗證、身份驗證以及相關授權機制,使得 controller 能夠更專注於達成 resource 邏輯的實做,減少擴展開發者的負擔。同時在 resource 本身的設計上,也會盡量使描述的操作是可被重複執行的 (idempotent),令 controller 不須額外維護內部狀態 (stateless),簡化 controller 的部屬管理以及提高容錯空間,使整體系統更為易用且可靠。
Kubernetes resources 的種類形成了既定的語意和格式,例如:Pod 代表一組可以互通部份設定的容器、Service 代表網路上具備負載均衡的一個存取點、Node 代表叢集中的一個節點等。Resource 種類又分為兩大類型:namespaced 與 cluster-scoped。Namespaced 代表此種類在 API 上受到 Namespace 分隔,於不同的 Namespace 下,各個 resources 無法相互關聯,通常用於描述賦予叢集的工作負載 (workload),Pod 與 Service 即為此類:Service 可以關聯到多個 Pods 提供實際服務內容,但設計上並不允許 Service 取用其他 Namespace 下的 Pod。Cluster-scoped 的種類則不受 Namespace 管轄,屬於整個叢集,常見於描述叢集本體的配置,Node 與 Namespace 本身即為此類。以使用慣例而言,Namespace 用以切分不同的應用,使得無關的應用在部屬設定上不會互相衝突影響,但須注意 Namespace 僅只限制 API 上能夠描述的相互關係,並不代表會對實際運行的容器或網路環境進行隔離加固。