您好,登錄后才能下訂單哦!
本篇文章為大家展示了Kubernetes設計與實現(xiàn)中ResourceQuota的概述是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
ResourceQuota
是Kubernetes
提供的一種用于限制資源配額的對象,集群管理員可以為每個namespace
創(chuàng)建ResourceQuota
對象來限定特定類型資源的最大使用額度,從而可以更精準、更合理地分配集群資源,避免多個namespace
中的資源爭搶共享的集群資源。
實際應用場景中,經(jīng)常出現(xiàn)多用戶或者多團隊共用同一個集群的情況,管理員往往會為不同用戶或團隊分配不同的namespace
,從而將彼此隔離,但namespace
只能做到邏輯上的隔離,多個namespace
中的應用仍然會共享集群的硬件資源,比如CPU
、內(nèi)存和存儲等,如果某個namespace
下的應用大量消耗這些共享資源,那么勢必會影響其他namespace
下的的應用。
ResourceQuota
正是針對這種問題而提供的一個解決方案。例如,用戶A
和B
共享某個含有16核CPU以及32G內(nèi)存資源的集群,并且用戶A
和B
分別使用namespace-a
和namespace-b
,那么管理員可以分別在namespace-a
和namespace-b
中創(chuàng)建一個ResourceQuota
對象,并指定CPU和內(nèi)存配額(比如平分集群資源),那么用戶A
和B
后續(xù)創(chuàng)建的應用資源總消耗量將不會超過該配額,如果一旦超過該配額,Kubernetes
將拒絕創(chuàng)建新的應用。
若要啟用ResourceQuota
功能,需要把字符串“ResourceQuota”加到kube-apiserver
的--enable-admission-plugins
參數(shù)列表中。比如:
# kube-apiserver <other parameters> --enable-admission-plugins="ResourceQuota,<other plugins>"
在絕大多數(shù)Kubernetes
發(fā)行版中,ResourceQuota
功能都是默認開啟的。
一個簡單的ResourceQuota
配置,如下所示:
apiVersion: v1 kind: ResourceQuota metadata: name: pod-count namespace: default spec: hard: pods: "0"
這份配置將在名為default
的namespace
中創(chuàng)建一個ResourceQuota
對象,該對象將確保在該namespace
中“禁止”創(chuàng)建Pod
對象。其主要配置如下:
metadata.namespace
:ResourceQuota
對象所屬的namespace
,也是該對象作用的namespace
;
spec.hard
:指定硬性配額列表;
spec.hard.pods
:為Pod
對象個數(shù)設置配額;
ResourceQuota
還支持其他更豐富的配置,比如支持對特性狀態(tài)的資源實施限額、對特定優(yōu)先級的資源實施限額等,這部分內(nèi)容我們將在后緒的章節(jié)中陸續(xù)介紹。
ResourceQuota
支持為多種類型的資源設置限額:
計算類資源,比如CPU、內(nèi)存等;
擴展類資源,比如GPU;
存儲類資源,比如持久卷;
除了這些資源類型以外,還支持限定對象個數(shù),這些對象包括:
configmaps
persistentvolumeclaims
pods
replicationcontrollers
resourcequotas
services
services.loadbalancers
services.nodeports
secrets
上述內(nèi)容就是Kubernetes設計與實現(xiàn)中ResourceQuota的概述是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。