您好,登錄后才能下訂單哦!
這篇文章主要介紹“Kubernetes如何部署可視化地圖”,在日常操作中,相信很多人在Kubernetes如何部署可視化地圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Kubernetes如何部署可視化地圖”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
通過查看創建一個吊艙或一個部署時的 10 個步驟,可以更好地了解 Kubernetes。
當你在 Kubernetes 上使用容器時,你經常把應用程序組合在一個吊艙pod中。當你把一個容器或一個吊艙發布到生產環境中時,它被稱為一個部署deployment。如果你每天甚至每周都在使用 Kubernetes,你可能已經這樣做過幾百次了,但你有沒有想過,當你創建一個吊艙或一個部署時到底會發生什么?
我發現在高層次上了解事件鏈條是有幫助的。當然,你不一定要理解它。即使你不知道為什么,它仍然在工作。我不打算列出每一件發生的小事,但我的目標是涵蓋所有重要的事情。
這里有一張 Kubernetes 不同組件如何互動的視覺地圖。
吊艙鏈條
你可能注意到,在上圖中,我沒有包括 etcd。API 服務器是唯一能夠直接與 etcd 對話的組件,而且只有它能夠對 etcd 進行修改。因此,你可以認為 etcd 在這張圖中存在于(隱藏的)API 服務器后面。
另外,我在這里只講到了兩個主要的控制器(部署控制器Deployment controller和復制集控制器ReplicaSet controller)。其他的控制器的工作方式類似。
下面的步驟描述了當你執行 kubectl create
命令時會發生什么。
當你使用 kubectl create
命令時,一個 HTTP POST 請求被發送到 API 服務器,其中包含部署清單。API 服務器將其存儲在 etcd 數據存儲中,并返回一個響應給 kubectl
。
API 服務器有一個觀察機制,所有觀察它的客戶都會得到通知。客戶端通過打開與 API 服務器的 HTTP 連接來觀察變化,API 服務器會流式地發出通知。其中一個客戶端是部署控制器。
部署控制器檢測到一個部署Deployment對象,它用部署的當前規格創建一個復制集ReplicaSet。該資源被送回 API 服務器,并存儲在 etcd 數據存儲中。
與上一步類似,所有觀察者都會收到關于 API 服務器中的變化的通知。這一次,復制集控制器會接收這一變化。
該控制器了解所需的副本數量和對象規格中定義的吊艙選擇器,創建吊艙資源,并將這些信息送回 API 服務器,存儲在 etcd 數據存儲中。
Kubernetes 現在擁有運行吊艙所需的所有信息,但吊艙應該在哪個節點上運行?調度器Scheduler觀察那些還沒有分配到節點的吊艙,并開始對所有節點進行過濾和排序,以選擇最佳節點來運行吊艙。
一旦節點被選中,該信息將被添加到吊艙規格中。而且它被送回 API 服務器并存儲在 etcd 數據存儲中。
到目前為止的所有步驟都發生在控制平面control plane本身。工作節點worker node還沒有做任何工作。不過,吊艙的創建并不是由控制平面處理的。
相反,在所有節點上運行的 kubelet
服務觀察 API 服務器中的吊艙規格,以確定它是否需要創建任何吊艙。
在調度器選擇的節點上運行的 kubelet 服務獲得吊艙規格,并指示工作節點上的容器運行時創建容器。這時就會下載一個容器鏡像(如果它還不存在的話),容器就會實際開始運行。
對這個一般流程的理解可以幫助你理解 Kubernetes 中的許多事件。考慮一下 Kubernetes 中的守護進程集DaemonSet或狀態集StatefulSet。除了使用不同的控制器外,吊艙的創建過程是一樣的。
課后作業:如果部署被修改為有三個應用程序的副本,導致創建吊艙的事件鏈條會是什么樣子?你可以參考圖表或列出的步驟,但你肯定有你需要弄清楚的知識。知識就是力量,你現在有了了解 Kubernetes 的一個重要組成部分。
到此,關于“Kubernetes如何部署可視化地圖”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。