專屬節(jié)點(diǎn)
背景介紹
在生產(chǎn)實(shí)踐中袱讹,某些系統(tǒng)因一些特殊的要求昵时,需要獨(dú)占節(jié)點(diǎn),即專屬節(jié)點(diǎn):具有特殊要求的應(yīng)用POD必須運(yùn)行在這些專屬節(jié)點(diǎn)上椒丧;同時(shí)這些節(jié)點(diǎn)不為其它應(yīng)用服務(wù)。本文將提供一種具體的配置策略壶熏,以滿足這種特殊的調(diào)度需求句柠。
該策略主要使用到兩種工具:
- 節(jié)點(diǎn)標(biāo)簽實(shí)現(xiàn)應(yīng)用與節(jié)點(diǎn)的綁定
- 污點(diǎn)配置實(shí)現(xiàn)其它應(yīng)用不會(huì)被調(diào)度到該節(jié)點(diǎn)。
設(shè)置步驟
- 為專屬節(jié)點(diǎn)設(shè)置特定標(biāo)簽LABEL:dedicated=sys0溯职,及設(shè)置污點(diǎn)
$ oc label node node-10 dedicated=sys0
$ oc adm taint nodes node-10 dedicated=sys0:NoSchedule
- 在使用專屬節(jié)點(diǎn)的應(yīng)用編排中綁定的Node
spec:
replicas: 1
template:
metadata:
name: nginx
labels:
app: nginx
spec:
nodeSelector:
dedicated: "sys0"
containers:
...
或
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: dedicated
operator: In
values:
- sys0
containers:
...
- 使用專屬節(jié)點(diǎn)的應(yīng)用編排中指定的標(biāo)簽及容忍污點(diǎn)
spec:
tolerations:
- key: "dedicated"
operator: "Equal"
value: "sys0"
effect: "NoExecute"
注意,本例中使用的operator是"Equal"帽哑,會(huì)比較污點(diǎn)的鍵與值。如果operator使用"Exists"妻枕,則應(yīng)用可以容忍所有帶有dedicated污點(diǎn)僻族。
去除專屬節(jié)點(diǎn)操作
要是需要去除專屬節(jié)點(diǎn)的限制屡谐,讓它恢復(fù)成一個(gè)正常應(yīng)用的節(jié)點(diǎn)述么。只需要將它的污點(diǎn)移除即可愕掏。
$ oc adm taint nodes dedicated-