Deployment 工作流程

2022-09-10 20:00:22 字數 1102 閱讀 2593

1、準備好乙個包含應用程式的deployment的yml檔案,然後通過kubectl客戶端工具傳送給apiserver。

2、apiserver接收到客戶端的請求並將資源內容儲存到資料庫(etcd)中。

3、controller元件(包括scheduler、replication、endpoint)監控資源變化並作出反應。

4、replicaset檢查資料庫變化,建立期望數量的pod例項。

5、scheduler再次檢查資料庫變化,發現尚未被分配到具體執行節點(node)的pod,然後根據一組相關規則將pod分配到可以執行它們的節點上,並更新資料庫,記錄pod分配情況。

6、kubelete監控資料庫變化,管理後續pod的生命週期,發現被分配到它所在的節點上執行的那些pod。如果找到新pod,則會在該節點上執行這個新pod。

7、kuberproxy執行在集群各個主機上,管理網路通訊,如服務發現、負載均衡。例如當有資料傳送到主機時,將其路由到正確的pod或容器。對於從主機上發出的資料,它可以基於請求位址發現遠端伺服器,並將資料正確路由,在某些情況下會使用輪訓排程演算法(round-robin)將請求傳送到集群中的多個例項。

kubectl提交乙個請求,來建立rc,此時controller manager通過api server裡的介面監聽到這個rc事件,分析之後,發現當前集群中還沒有它對應的pod例項,於是根據rc裡的pod模板定義 個pod物件;接下來,此事件被scheduler發現,它立即執行乙個複雜的排程流程,為這個新pod選定乙個落戶的node,這個過程可稱為繫結;隨後模板node上執行的kubelet程序通過api server監測到這個「新生的」pod並按照它的定義,啟動pod並負責後期的管理;

隨後我們通過kubectl提交乙個對映到該pod的server的建立請求,controller manager會通過label標籤查詢到相關聯的pod例項,然後生成service的endpoints資訊;接下來,所有node上執行的proxy程序通過api server查詢並監聽service物件及其對應的endpoints資訊,建立乙個負載均衡器來實現service訪問到後端pod的流量**功能;

Struts工作流程

文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...

zf工作流程

zend controller是使用mvc模式來構建乙個站點的基礎。zend controller體系是乙個輕量的,模組化和可擴充套件的體系。它只提供最核心的必要的部分,允許開發者有很大的自由來靈活地構建自己的站點。使用zend controller的站點,其檔案組織和 結構會比較相似。zend c...

spring MVC 工作流程

1 首先來配置一下dispatcherservlet spring mvc和大部分mvc框架一樣,底層也是依賴servlet api的,所以spring mvc的請求處理也是從乙個servlet開始,這個servlet就是dispatcherservlet.以下是在web.xml中dispatche...