您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關K8S中Pod和Deployment的區別是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Pod是k8s的最小調度單位,一個Pod中可以有多個containers,彼此共享網絡等,這是k8s的核心概念。
其他資源基本上都是圍繞著Pod而展開,比如RC(Replication Controller)或者RS(Replication Set),這兩種資源可以控制Pod的副本數,所以它們就比Pod高級一點,在定義它們的時候和Deployment一樣,需要在template中定義Pod中的容器等內容,而Deployment是比RC或者RS更高級的一種資源,它不但可以控制Pod的副本數,同時還可以控制Pod的版本,所以這么高級的資源并不是時時刻刻都需要的,比如你就想暫時性的部署一個小程序,用完就不要了,那么你就沒有必要使用RS或者RC,更沒有必要去用Deploment。
----------------------------------------
從開發者角度看,deployment顧明思意,既部署,對于完整的應用部署流程,除了運行代碼(既pod)之外,需要考慮更新策略,副本數量,回滾,重啟等步驟,而運行代碼的方式有很多種,例如有一次性的也就是job,有定時執行的也就是crontabjob,有排號的也就是sts,為了復用運行代碼的功能所以抽象為pod,從而進行復用。
從用戶角度看,我們操作時也會根據不同的代碼副本進行查看,例如日志,資源占用都是實例級別的也需要這么一個抽象。
----------------------------------------
pod是單一亦或一組容器的合集。
deployment是pod版本管理的工具 用來區分不同版本的pod。
單獨創建pod的時候就不會有deployment出現,但是創建deployment的時候一定會創建pod,因為pod是一個基礎的單位。
任何的控制器單位的具體實現必須落到pod去實現。
----------------------------------------
Replication Controller為Kubernetes的一個核心內容,應用托管到Kubernetes之后,需要保證應用能夠持續的運行,Replication Controller就是這個保證的key,主要的功能如下:
確保pod數量:它會確保Kubernetes中有指定數量的Pod在運行。如果少于指定數量的pod,Replication Controller會創建新的,反之則會刪除掉多余的以保證Pod數量不變。
確保pod健康:當pod不健康,運行出錯或者無法提供服務時,Replication Controller也會殺死不健康的pod,重新創建新的。
彈性伸縮 :在業務高峰或者低峰期的時候,可以通過Replication Controller動態的調整pod的數量來提高資源的利用率。同時,配置相應的監控功能(Hroizontal Pod Autoscaler),會定時自動從監控平臺獲取Replication Controller關聯pod的整體資源使用情況,做到自動伸縮。
滾動升級:滾動升級為一種平滑的升級方式,通過逐步替換的策略,保證整體系統的穩定,在初始化升級的時候就可以及時發現和解決問題,避免問題不斷擴大。
Deployment同樣為Kubernetes的一個核心內容,主要職責同樣是為了保證pod的數量和健康,90%的功能與Replication Controller完全一樣,可以看做新一代的Replication Controller。但是,它又具備了Replication Controller之外的新特性:
Replication Controller全部功能:Deployment繼承了上面描述的Replication Controller全部功能。
事件和狀態查看:可以查看Deployment的升級詳細進度和狀態。
回滾:當升級pod鏡像或者相關參數的時候發現問題,可以使用回滾操作回滾到上一個穩定的版本或者指定的版本。
版本記錄: 每一次對Deployment的操作,都能保存下來,給予后續可能的回滾使用。
暫停和啟動:對于每一次升級,都能夠隨時暫停和啟動。
多種升級方案:Recreate:刪除所有已存在的pod,重新創建新的; RollingUpdate:滾動升級,逐步替換的策略,同時滾動升級時,支持更多的附加參數,例如設置最大不可用pod數量,最小升級間隔時間等等。
上述就是小編為大家分享的K8S中Pod和Deployment的區別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。