kubernetes——資源管理

系統(tǒng)資源可分為兩類(lèi):可搶占資源(CPU)和不可搶占資源(memory艺谆、storage)唱逢∫伲可搶占資源比如CPU在系統(tǒng)滿(mǎn)負(fù)荷時(shí)會(huì)劃分時(shí)間片分時(shí)運(yùn)行進(jìn)程陵刹,系統(tǒng)整體會(huì)變慢(一般不會(huì)導(dǎo)致太大的問(wèn)題)。但不可搶占資源如Memory在系統(tǒng)滿(mǎn)負(fù)荷時(shí)碾盐,除了會(huì)導(dǎo)致系統(tǒng)變慢晃跺,還會(huì)進(jìn)一步導(dǎo)致系統(tǒng)OOM,最終導(dǎo)致某些進(jìn)程被Linux系統(tǒng)的OOM killer機(jī)制殺掉廓旬。

在Kubernetes平臺(tái)哼审,默認(rèn)情況下Pod能夠使用節(jié)點(diǎn)全部可用資源。如果節(jié)點(diǎn)上的pod負(fù)載較大孕豹,那么這些pod可能會(huì)與節(jié)點(diǎn)上的系統(tǒng)守護(hù)進(jìn)程和k8s組件爭(zhēng)奪資源并導(dǎo)致節(jié)點(diǎn)資源短缺涩盾,甚至引發(fā)系統(tǒng)OOM而殺進(jìn)程,假如被殺掉的進(jìn)程是系統(tǒng)進(jìn)程或K8S組件励背,會(huì)導(dǎo)致比較嚴(yán)重的問(wèn)題春霍。

1.2 解決方案

針對(duì)這種問(wèn)題,主要有兩種解決方案(兩種也可以結(jié)合使用):

啟用kubelet的Node Allocatable特性叶眉,為系統(tǒng)守護(hù)進(jìn)程和k8s組件預(yù)留資源址儒。 官方文檔:https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources

設(shè)置pod的驅(qū)逐策略,在pod使用資源到一定程度時(shí)進(jìn)行pod驅(qū)逐衅疙。官方文檔:https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#eviction-policy

本篇文章主要介紹如何正確配置資源預(yù)留莲趣,Pod的驅(qū)逐以后介紹。

2. 資源預(yù)留簡(jiǎn)介

2.1 Node Allocatable簡(jiǎn)介

kubelet的啟動(dòng)配置中有一個(gè)Node Allocatable特性饱溢,來(lái)為系統(tǒng)守護(hù)進(jìn)程和k8s組件預(yù)留計(jì)算資源喧伞,使得即使節(jié)點(diǎn)滿(mǎn)負(fù)載運(yùn)行時(shí),也不至于出現(xiàn)pod去和系統(tǒng)守護(hù)進(jìn)程以及k8s組件爭(zhēng)搶資源绩郎,導(dǎo)致節(jié)點(diǎn)掛掉的情況潘鲫。目前支持對(duì)CPU, memory, ephemeral-storage三種資源進(jìn)行預(yù)留。kubernetes官方建議根據(jù)各個(gè)節(jié)點(diǎn)的負(fù)載情況來(lái)具體配置相關(guān)參數(shù)肋杖。

節(jié)點(diǎn)計(jì)算資源的分配如下圖所示:

Node Capacity

---------------------------|? ? kube-reserved? ? ? ||-------------------------||? ? system-reserved? ? ||-------------------------||? ? eviction-threshold? ||-------------------------||? ? ? ? ? ? ? ? ? ? ? ? ||? ? ? allocatable? ? ? ? ||? (available for pods)? ||? ? ? ? ? ? ? ? ? ? ? ? ||? ? ? ? ? ? ? ? ? ? ? ? |

---------------------------

1

2

3

4

5

6

7

8

9

10

11

12

13

14

其中各個(gè)部分的含義如下:?

- Node Capacity:Node的硬件資源總量?

- kube-reserved:給k8s系統(tǒng)進(jìn)程預(yù)留的資源(包括kubelet溉仑、container runtime、node problem detector等状植,但不會(huì)給以pod形式起的k8s系統(tǒng)進(jìn)程預(yù)留資源)?

- system-reserved:給linux系統(tǒng)守護(hù)進(jìn)程預(yù)留的資源?

- eviction-threshold:通過(guò)--eviction-hard參數(shù)為節(jié)點(diǎn)預(yù)留內(nèi)存浊竟,當(dāng)節(jié)點(diǎn)可用內(nèi)存值低于此值時(shí)怨喘,kubelet會(huì)進(jìn)行pod的驅(qū)逐?

- allocatable:是真正可供節(jié)點(diǎn)上Pod使用的容量,kube-scheduler調(diào)度Pod時(shí)的參考此值(kubectl describe node可以看到逐沙,Node上所有Pods的request量不超過(guò)Allocatable)

節(jié)點(diǎn)可供Pod使用資源總量的計(jì)算公式如下:

allocatable=NodeCapacity-[kube-reserved] - [system-reserved] - [eviction-threshold]

1

從公式可以看出哲思,默認(rèn)情況下(不設(shè)置kube-reserved、system-reserved吩案、eviction-threshold)節(jié)點(diǎn)上默認(rèn)可以讓Pod使用的資源總量等于節(jié)點(diǎn)的總?cè)萘浚瑫?huì)導(dǎo)致Pod與系統(tǒng)進(jìn)程和k8s組件爭(zhēng)搶資源的情況發(fā)生帝簇。

2.2 配置參數(shù)

kubelet的啟動(dòng)參數(shù)中涉及資源預(yù)留的主要有如下幾個(gè):

--cgroups-per-qos

--cgroup-driver

--cgroup-root

--enforce-node-allocatable=pods[,][system-reserved][,][kube-reserved]

--kube-reserved=[cpu=100m][,][memory=100Mi][,][ephemeral-storage=1Gi]

--kube-reserved-cgroup

--system-reserved=[cpu=100mi][,][memory=100Mi][,][ephemeral-storage=1Gi]

--system-reserved-cgroup

--eviction-hard

2.2.1 參數(shù)詳解

--cgroups-per-qos

可選徘郭,默認(rèn)開(kāi)啟。開(kāi)啟這個(gè)參數(shù)后丧肴,kubelet會(huì)將所有的pod創(chuàng)建在kubelet管理的cgroup層次結(jié)構(gòu)下(這樣才有了限制所有Pod使用資源總量的基礎(chǔ))残揉。要想啟用Node Allocatable特性,這個(gè)參數(shù)必須開(kāi)啟芋浮。

--cgroup-driver

可選抱环。指定kubelet使用的cgroup driver。默認(rèn)為cgroupfs纸巷,還可以是systemd镇草,但是這個(gè)值需要和docker runtime所使用的cgroup driver保持一致。

--cgroup-root

可選瘤旨。指定給pod使用的根cgroup梯啤,容器運(yùn)行時(shí)會(huì)盡量將pod的資源限制在這個(gè)根cgroup下面。默認(rèn)為空存哲,即使用容器運(yùn)行時(shí)作為根cgroup因宇。

--enforce-node-allocatable

指定kubelet為哪些進(jìn)程做硬限制,可選的值有:pods,kube-reserved,system-reserve祟偷。

這個(gè)參數(shù)開(kāi)啟并指定pods后kubelet會(huì)為所有pod的總cgroup做資源限制

有需要的請(qǐng)聯(lián)系我

yxxy1717? ? ? 2317384986

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末察滑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子修肠,更是在濱河造成了極大的恐慌贺辰,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氛赐,死亡現(xiàn)場(chǎng)離奇詭異魂爪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)艰管,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)滓侍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人牲芋,你說(shuō)我怎么就攤上這事撩笆∞嗲颍” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵夕冲,是天一觀的道長(zhǎng)氮兵。 經(jīng)常有香客問(wèn)我,道長(zhǎng)歹鱼,這世上最難降的妖魔是什么泣栈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮弥姻,結(jié)果婚禮上南片,老公的妹妹穿的比我還像新娘。我一直安慰自己庭敦,他們只是感情好疼进,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著秧廉,像睡著了一般伞广。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疼电,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天嚼锄,我揣著相機(jī)與錄音,去河邊找鬼澜沟。 笑死灾票,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茫虽。 我是一名探鬼主播刊苍,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼濒析!你這毒婦竟也來(lái)了正什?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤号杏,失蹤者是張志新(化名)和其女友劉穎婴氮,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體盾致,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡主经,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庭惜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罩驻。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖护赊,靈堂內(nèi)的尸體忽然破棺而出惠遏,到底是詐尸還是另有隱情砾跃,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布节吮,位于F島的核電站抽高,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏透绩。R本人自食惡果不足惜翘骂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渺贤。 院中可真熱鬧雏胃,春花似錦、人聲如沸志鞍。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)固棚。三九已至,卻和暖如春仙蚜,著一層夾襖步出監(jiān)牢的瞬間此洲,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工委粉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呜师,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓贾节,卻偏偏與公主長(zhǎng)得像汁汗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子栗涂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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