您好,登錄后才能下訂單哦!
這篇文章給大家介紹Kubernetes中Pod如何調(diào)度到指定Node,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
問題描述
??Kubernetes有著自己特定的調(diào)度算法與策略,有Master中的Scheduler組件來實現(xiàn),根據(jù)Node資源使用情況自動調(diào)度Pod的創(chuàng)建,通??梢詽M足我們大部分的需求。但是有時我們希望可以將某些Pod調(diào)度到特定硬件節(jié)點上,這里采用目前最為簡單的nodeName和nodeSelector來實現(xiàn)Pod調(diào)度。
??假設(shè)以下場景:有三個Node,分別為107、108、109,創(chuàng)建Deployments來部署Tomcat應(yīng)用,指定在107節(jié)點上創(chuàng)建Pod。
解決方案
?nodeName
??Pod.spec.nodeName將Pod直接調(diào)度到指定的Node節(jié)點上,會跳過Scheduler的調(diào)度策略,該匹配規(guī)則是強制匹配。
Tomcatl.yaml文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myweb
spec:
replicas: 2
template:
metadata:
labels:
app: myweb
spec:
nodeSelector: 107 #直接通過節(jié)點名稱調(diào)度到指定節(jié)點
containers:
- name: myweb
image: harbor/tomcat:8.5-jre8
ports:
- containerPort: 80
?nodeSelector
??Pod.spec.nodeSelector通過kubernetes的label-selector機制選擇節(jié)點,由調(diào)度器調(diào)度策略匹配label,而后調(diào)度Pod到目標(biāo)節(jié)點,該匹配規(guī)則屬于強制約束。
設(shè)置 Node Lable
kubectl label nodes 107 type=backEndNode1
1
Tomcatl.yaml文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myweb
spec:
replicas: 2
template:
metadata:
labels:
app: myweb
spec:
nodeSelector:
type: backEndNode1
containers:
- name: myweb
image: harbor/tomcat:8.5-jre8
ports:
- containerPort: 80
創(chuàng)建Deployment
kubectl create -f Tomcat.yaml
關(guān)于Kubernetes中Pod如何調(diào)度到指定Node就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(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)容。