摘要:為了實(shí)現(xiàn)資源被有效調(diào)度和分配時(shí)同時(shí)提高資源的利用率,采用和兩種限制類(lèi)型對(duì)資源進(jìn)行分配。限制類(lèi)型介紹容器使用的最小資源需求作為容器調(diào)度時(shí)資源分配的判斷依賴(lài)。
概述
kubernetes 是一個(gè)集群管理平臺(tái), kubernetes需要統(tǒng)計(jì)整體平臺(tái)的資源使用情況, 合理的將資源分配給容器使用, 并保證容器生命周期內(nèi)有足夠的資源來(lái)保證其運(yùn)行. 同時(shí), 如果資源發(fā)放是獨(dú)占的, 對(duì)于空閑的容器來(lái)說(shuō)占用這沒(méi)有使用的資源是非常浪費(fèi)的, 比如CPU。k8s需要考慮如何在優(yōu)先度和公平性的前提下提供資源的利用率。
為了實(shí)現(xiàn)資源被有效調(diào)度和分配時(shí)同時(shí)提高資源的利用率, k8s采用request和limit兩種限制類(lèi)型對(duì)資源進(jìn)行分配。
limit/request 限制類(lèi)型介紹 request容器使用的最小資源需求, 作為容器調(diào)度時(shí)資源分配的判斷依賴(lài)。
只有當(dāng)前節(jié)點(diǎn)上可分配的資源量 >= request 時(shí)才允許將容器調(diào)度到該節(jié)點(diǎn)。
request參數(shù)不限制容器的最大可使用資源
limit容器能使用資源的最大值
設(shè)置為0表示對(duì)使用的資源不做限制, 可無(wú)限的使用
request 和 limit 關(guān)系request能保證pod有足夠的資源來(lái)運(yùn)行, 而limit則是防止某個(gè)pod無(wú)限制的使用資源, 導(dǎo)致其他pod崩潰. 兩者的關(guān)系必須滿(mǎn)足:
0 <= request <= limit
如果limit=0表示不對(duì)資源進(jìn)行限制, 這時(shí)可以小于request。
目前CPU支持設(shè)置request和limit,memory只支持設(shè)置request, limit必須強(qiáng)制等于request, 這樣確保容器不會(huì)因?yàn)閮?nèi)存的使用量超過(guò)request但是沒(méi)有超過(guò)limit的情況下被意外kill掉。
limit/request使用示例--- apiVersion: apps/v1beta2 kind: Deployment metadata: name: nginx namespace: php labels: app: nginx spec: revisionHistoryLimit: 10 strategy: type: RollingUpdate selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 protocol: TCP resources: requests: cpu: 0.5 memory: 1024Mi limits: cpu: 1 memory: 2048Mi --- apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: nginx labels: app: nginx spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: nginx minReplicas: 2 maxReplicas: 4 targetCPUUtilizationPercentage: 80參考
Kubernetes 資源分配之 Request 和 Limit 解析
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32682.html
摘要:為了實(shí)現(xiàn)資源被有效調(diào)度和分配時(shí)同時(shí)提高資源的利用率,采用和兩種限制類(lèi)型對(duì)資源進(jìn)行分配。限制類(lèi)型介紹容器使用的最小資源需求作為容器調(diào)度時(shí)資源分配的判斷依賴(lài)。 概述 kubernetes 是一個(gè)集群管理平臺(tái), kubernetes需要統(tǒng)計(jì)整體平臺(tái)的資源使用情況, 合理的將資源分配給容器使用, 并保證容器生命周期內(nèi)有足夠的資源來(lái)保證其運(yùn)行. 同時(shí), 如果資源發(fā)放是獨(dú)占的, 對(duì)于空閑的容器來(lái)說(shuō)...
摘要:限流算法最簡(jiǎn)單粗暴的限流算法就是計(jì)數(shù)器法了,而比較常用的有漏桶算法和令牌桶算法計(jì)數(shù)器計(jì)數(shù)器法是限流算法里最簡(jiǎn)單也是最容易實(shí)現(xiàn)的一種算法。 運(yùn)營(yíng)研發(fā)團(tuán)隊(duì) 李樂(lè) 高并發(fā)系統(tǒng)有三把利器:緩存、降級(jí)和限流; 限流的目的是通過(guò)對(duì)并發(fā)訪(fǎng)問(wèn)/請(qǐng)求進(jìn)行限速來(lái)保護(hù)系統(tǒng),一旦達(dá)到限制速率則可以拒絕服務(wù)(定向到錯(cuò)誤頁(yè))、排隊(duì)等待(秒殺)、降級(jí)(返回兜底數(shù)據(jù)或默認(rèn)數(shù)據(jù)); 高并發(fā)系統(tǒng)常見(jiàn)的限流有:限制總并發(fā)...
摘要:如果當(dāng)前需要延遲處理,又會(huì)把請(qǐng)求放到定時(shí)器中,等到定時(shí)器過(guò)期以后,執(zhí)行寫(xiě)事件回調(diào),這個(gè)函數(shù)里會(huì)執(zhí)行,重新進(jìn)行的個(gè)階段。 ngx_http_limit_req_module 是 Nginx 官方提供的一個(gè) http 模塊,它工作在 NGX_HTTP_PREACCESS_PHASE 階段,通過(guò)在 nginx.conf 中進(jìn)行簡(jiǎn)單地配置,我們可以輕易地對(duì)請(qǐng)求速率進(jìn)行限制。 配置指令 官方文檔...
摘要:是為快速開(kāi)發(fā)設(shè)計(jì)的框架。特色框架提供許多主流的特性如依賴(lài)注入等。輕松支持是目前最流行的接口文檔框架。在一開(kāi)始就非常注重框架的友好性盡可能讓框架保持準(zhǔn)確的代碼提示。 PhpBoot showImg(https://segmentfault.com/img/remote/1460000004864102);showImg(https://segmentfault.com/img/remot...
摘要:今天是數(shù)人云容器三國(guó)演義嘉賓演講實(shí)錄第四彈。說(shuō)完了各家容器技術(shù)的實(shí)戰(zhàn),那么最后來(lái)看容器技術(shù)的融合正在探索的一條道路。月,開(kāi)始接手,因?yàn)檎麄€(gè)產(chǎn)品都是基于這個(gè)為基礎(chǔ)的。下面是的地址,到可以找到相關(guān)的資料。但這時(shí)候是分開(kāi)的,不同的使用不同的框架。 今天是數(shù)人云容器三國(guó)演義Meetup嘉賓演講實(shí)錄第四彈。說(shuō)完了各家容器技術(shù)的實(shí)戰(zhàn),那么最后來(lái)看容器技術(shù)的融合——IBM正在探索的一條道路。 我叫馬...
閱讀 594·2023-04-26 01:42
閱讀 3230·2021-11-22 11:56
閱讀 2407·2021-10-08 10:04
閱讀 855·2021-09-24 10:37
閱讀 3134·2019-08-30 15:52
閱讀 1756·2019-08-29 13:44
閱讀 479·2019-08-28 17:51
閱讀 2151·2019-08-26 18:26