您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何理解Deployment,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Deployment
是繼ReplicationController
和ReplicaSet
之后推出的更高級的控制器,它通過Deployment
對象來聲明Pod
的期望狀態(tài),這些狀態(tài)包括Pod
的副本數(shù)和Pod
的模版等,運行于kube-controller-manager
組件中的Deployment Controller
(Deployment控制器)時刻監(jiān)控Deployment
對象的變化,并根據(jù)Deployment
對象中的配置來調(diào)整Pod
,最終保證Pod
以期望的形態(tài)在運行。
我們先看一個簡單的Deployment
配置:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.19.0
metadata.name
:指定Deployment的名稱;
spec.replicas
:指定期望的副本數(shù);
spec.selector
:指定查找Pod的標簽;
spec.template
:指定Pod的模板,當Deployment
控制器需要創(chuàng)建Pod時會根據(jù)此模版創(chuàng)建Pod。
上面這份Deployment
配置和之前介紹的ReplicaSet
非常類似,主要也是聲明Pod的副本數(shù)以及Pod的模版,將該配置提交給kube-apiserver
后,運行于kube-controller-manager
組件中的Deployment Controller
也會創(chuàng)建3個Pod副本,這個行為跟ReplicaSet
還是一樣,但Deployment
更強大的功能體現(xiàn)在配置發(fā)生變化時的行為,比如修改配置中Pod模板中的鏡像版本,Deployment Controller
會自動地創(chuàng)建新的Pod來運行新鏡像并逐步刪除舊的Pod,從而達到自動升級的目的。
看完上述內(nèi)容,你們對如何理解Deployment有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。