Kubernetes對Pod調(diào)度指定Node以及Node的Taint 和 Toleration

1.指定pod到指定的node上

#1.1查看節(jié)點的lebel
kubectl get nodes --show-labels

#1.2獲取到該節(jié)點的label信息
ip-10-100-2-80     Ready    <none>   60d   v1.14.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ip-10-100-2-80,kubernetes.io/os=linux

#1.3也可通過自己設(shè)置label
kubectl label nodes <node-name> <label-key>=<label-value>

#1.4在配置文件spec下面添加
spec:
  nodeSelector:
      kubernetes.io/hostname: ip-10-100-2-80

2.Taint 和 Toleration

2.1. 概念

  • nodeSelector可以通過打標簽的形式讓Pod被調(diào)度到指定的Node上咱揍,Taint則相反弄匕,它使節(jié)點能夠排斥一類特定的Pod壁晒,除非Pod被指定了toleration的標簽。(taint即污點僻族,Node被打上污點磷脯;只有容忍[toleration]這些污點的Pod才可能被調(diào)度到該Node)。

2.2 effect的類型

NoSchedule:只有擁有和這個 taint 相匹配的 toleration 的 pod 才能夠被分配到這個節(jié)點烤黍。

PreferNoSchedule:系統(tǒng)會盡量避免將 pod 調(diào)度到存在其不能容忍 taint 的節(jié)點上,但這不是強制的。

NoExecute :任何不能忍受這個 taint 的 pod 都會馬上被驅(qū)逐蚊荣,任何可以忍受這個 taint 的 pod 都不會被驅(qū)逐。Pod可指定屬性 tolerationSeconds 的值莫杈,表示pod 還能繼續(xù)在節(jié)點上運行的時間互例。

tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
tolerationSeconds: 3600

2.3 kubectl taint

# 給節(jié)點增加一個taint(污點),它的key是<key>筝闹,value是<value>媳叨,effect是NoSchedule。
kubectl taint nodes <node_name> <key>=<value>:NoSchedule

#刪除節(jié)點上的taint关顷。
kubectl taint nodes node1 key:NoSchedule-

2.4 只有擁有和這個taint相匹配的toleration的pod才能夠被分配到 node_name 這個節(jié)點糊秆。

例如,在 PodSpec 中定義 pod 的 toleration:
#operator:Equal 會比較key和value
#operator:Exists 只要含有key就會容忍該污點

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"

tolerations:
- key: "key"
  operator: "Exists"
  effect: "NoSchedule"

#容忍所有含污點的node
tolerations:
- operator: "Exists"

#容忍所有key相同的议双,忽視effect
tolerations:
- key: "key"
  operator: "Exists"

2.3. 使用場景

2.3.1. 專用節(jié)點

kubectl taint nodes <nodename> dedicated=<groupName>:NoSchedule

先給Node添加taint痘番,然后給Pod添加相對應(yīng)的 toleration,則該Pod可調(diào)度到taint的Node平痰,也可調(diào)度到其他節(jié)點汞舱。

如果想讓Pod只調(diào)度某些節(jié)點且某些節(jié)點只接受對應(yīng)的Pod,則需要在Node上添加Label(例如:dedicated=groupName)宗雇,同時給Pod的nodeSelector添加對應(yīng)的Label昂芜。

2.3.2. 特殊硬件節(jié)點

如果某些節(jié)點配置了特殊硬件(例如CPU),希望不使用這些特殊硬件的Pod不被調(diào)度該Node赔蒲,以便保留必要資源泌神。即可給Node設(shè)置taint和label,同時給Pod設(shè)置toleration和label來使得這些Node專門被指定Pod使用舞虱。

kubectl taint

kubectl taint nodes nodename special=true:NoSchedule 
# 或者
kubectl taint nodes nodename special=true:PreferNoSchedule

2.3.3. 基于taint驅(qū)逐

effect 值 NoExecute 欢际,它會影響已經(jīng)在節(jié)點上運行的 pod,即根據(jù)策略對Pod進行驅(qū)逐砾嫉。

如果 pod 不能忍受effect 值為 NoExecute 的 taint幼苛,那么 pod 將馬上被驅(qū)逐
如果 pod 能夠忍受effect 值為 NoExecute 的 taint,但是在 toleration 定義中沒有指定 tolerationSeconds焕刮,則 pod 還會一直在這個節(jié)點上運行舶沿。
如果 pod 能夠忍受effect 值為 NoExecute 的 taint,而且指定了 tolerationSeconds配并,則 pod 還能在這個節(jié)點上繼續(xù)運行這個指定的時間長度括荡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市溉旋,隨后出現(xiàn)的幾起案子畸冲,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邑闲,死亡現(xiàn)場離奇詭異算行,居然都是意外死亡,警方通過查閱死者的電腦和手機苫耸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門州邢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人褪子,你說我怎么就攤上這事量淌。” “怎么了嫌褪?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵呀枢,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么桥狡? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮残吩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘倘核。我一直安慰自己泣侮,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布紧唱。 她就那樣靜靜地躺著活尊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪漏益。 梳的紋絲不亂的頭發(fā)上蛹锰,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音绰疤,去河邊找鬼铜犬。 笑死,一個胖子當著我的面吹牛轻庆,可吹牛的內(nèi)容都是我干的癣猾。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼余爆,長吁一口氣:“原來是場噩夢啊……” “哼纷宇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛾方,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤像捶,失蹤者是張志新(化名)和其女友劉穎上陕,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拓春,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡释簿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了硼莽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辕万。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沉删,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情醉途,我是刑警寧澤矾瑰,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站隘擎,受9級特大地震影響殴穴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜货葬,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一采幌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧震桶,春花似錦休傍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柴墩,卻和暖如春忙厌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背江咳。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工逢净, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人歼指。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓爹土,卻偏偏與公主長得像,于是被迫代替她去往敵國和親东臀。 傳聞我的和親對象是個殘疾皇子着饥,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 一、調(diào)度簡介 ??一個容器平臺的主要功能就是為容器分配運行時所需要的計算惰赋,存儲和網(wǎng)絡(luò)資源宰掉。容器調(diào)度系統(tǒng)負責選擇在最...
    無劍_君閱讀 762評論 0 1
  • Label Label是附著到object上(例如Pod)的鍵值對呵哨。可以在創(chuàng)建object的時候指定轨奄,也可以在ob...
    陳靖_7314閱讀 3,900評論 0 3
  • 1孟害、選擇節(jié)點(nodeSelector) nodeSelector是目前最為簡單的一種pod運行時調(diào)度限制,目前在...
    七月流火2019閱讀 435評論 0 0
  • Assigning Pods to Nodes 可以限制Pods在特定節(jié)點上運行挪拟,也可以優(yōu)先調(diào)度到特定節(jié)點挨务。有幾種...
    iCaptain閱讀 11,721評論 0 11
  • 我相信你谎柄,你總是這樣說到做到,你說明天太陽升起時來找我惯雳,太陽升起時你就一定會來到朝巫。 迷糊中醒來,舒服地伸個懶腰……...
    肆舞秋風閱讀 887評論 2 2