您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么調(diào)整Kubernetes的CPU和內(nèi)存”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
1、為容器和 Pod 分配CPU和內(nèi)存資源 2、Resources Quota: 限制namespace的資源消耗 3、Limit Ranges:配置默認(rèn)的CPU請(qǐng)求和限制
Kubernetes 中的一個(gè) cpu 等于: 1、1 AWS vCPU 2、1 GCP Core 3、1 Azure vCore 4、1 Hyperthread 在帶有超線程的裸機(jī) Intel 處理器上
將CPU和內(nèi)存 請(qǐng)求 (request)和內(nèi)存 限制 (limit)分配給一個(gè)容器。 我們保障容器擁有它請(qǐng)求數(shù)量的內(nèi)存,但不允許使用超過(guò)限制數(shù)量的CPU和內(nèi)存 。
apiVersion: apps/v1 kind: Deployment metadata: name: aks-application spec: replicas: 1 selector: matchLabels: app: aks-application template: metadata: labels: app: aks-application spec: containers: - name: aks-application image: hubname/aks-application-image:1.0.0 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi
資源配額,通過(guò) ResourceQuota 對(duì)象來(lái)定義,對(duì)每個(gè)namespace的資源消耗總量提供限制。它可以限制namespace中某種類型的對(duì)象的總數(shù)目上限,也可以限制命令空間中的 Pod 可以使用的計(jì)算資源的總上限。
1、不同的團(tuán)隊(duì)可以在不同的namespace下工作,目前這是非約束性的,在未來(lái)的版本中可能會(huì)通過(guò) ACL (Access Control List 訪問(wèn)控制列表) 來(lái)實(shí)現(xiàn)強(qiáng)制性約束。 2、集群管理員可以為每個(gè)namespace創(chuàng)建一個(gè)或多個(gè) ResourceQuota 對(duì)象。 3、當(dāng)用戶在namespace下創(chuàng)建資源(如 Pod、Service 等)時(shí),Kubernetes 的配額系統(tǒng)會(huì) 跟蹤集群的資源使用情況,以確保使用的資源用量不超過(guò) ResourceQuota 中定義的硬性資源限額。 4、如果資源創(chuàng)建或者更新請(qǐng)求違反了配額約束,那么該請(qǐng)求會(huì)報(bào)錯(cuò)(HTTP 403 FORBIDDEN), 并在消息中給出有可能違反的約束。 5、如果namespace下的計(jì)算資源 (如 cpu 和 memory)的配額被啟用,則用戶必須為 這些資源設(shè)定請(qǐng)求值(request)和約束值(limit),否則配額系統(tǒng)將拒絕 Pod 的創(chuàng)建。提示: 可使用 LimitRanger 準(zhǔn)入控制器來(lái)為沒(méi)有設(shè)置計(jì)算資源需求的 Pod 設(shè)置默認(rèn)值。
apiVersion: v1 kind: ResourceQuota metadata: name: backend-storage-quota spec: hard: persistentvolumeclaims: "2" requests.storage: "1Gi" -- apiVersion: v1 kind: ResourceQuota metadata: name: backend-namespace-quota spec: hard: request.cpu: 400m request.memory: 9600Mi limits.cpu: 1200m limits.memory: 11600Mi
kubectl apply -f resource-quota.yaml — namespace backend
apiVersion: v1 kind: LimitRange metadata: name: backend-limit-range spec: limits: - default: memory: 110Mi cpu: 500m defaultRequest: memory: 20Mi cpu: 100m type: Container -- apiVersion: v1 kind: LimitRange metadata: name: backend-storage-limits spec: limits: - type: PersistentVolumeClaim max: storage: 5Gi min: storage: 2Gi
“怎么調(diào)整Kubernetes的CPU和內(nèi)存”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。