自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Kubernetes中的資源限制!

譯文
系統(tǒng) Linux
如果節(jié)點(diǎn)有足夠的可用資源,容器就有可能使用更多資源。我們可以指定容器需要每種資源的數(shù)量。要指定的常見資源是CPU和內(nèi)存。我們?yōu)镻od中的容器指定資源請(qǐng)求時(shí),調(diào)度程序?qū)Q定將Pod放置在哪個(gè)節(jié)點(diǎn)上。

【51CTO.com快譯】

如果節(jié)點(diǎn)有足夠的可用資源,容器就有可能使用更多資源。我們可以指定容器需要每種資源的數(shù)量。要指定的常見資源是CPU和內(nèi)存。我們?yōu)镻od中的容器指定資源請(qǐng)求時(shí),調(diào)度程序?qū)Q定將Pod放置在哪個(gè)節(jié)點(diǎn)上。我們?yōu)槿萜髦付ㄙY源限制時(shí),kubelet會(huì)處理限制,以便不允許運(yùn)行中的容器使用的資源超過我們?cè)O(shè)置的限制。

比如說,如果我們?yōu)槿萜髟O(shè)置100 MiB的內(nèi)存請(qǐng)求,該容器可能嘗試使用更多的內(nèi)存。但是如果我們?yōu)樵撊萜髟O(shè)置了4GiB的內(nèi)存限制,運(yùn)行時(shí)環(huán)境會(huì)阻止容器使用超過配置限制的內(nèi)存。

CPU和內(nèi)存稱為計(jì)算資源。

Pod的每個(gè)容器可以指定以下一項(xiàng)或多項(xiàng):

  • CPU方面的限制
  • 內(nèi)存方面的限制
  • 大頁面-<大小>方面的限制
  • 對(duì)CPU的請(qǐng)求
  • 對(duì)內(nèi)存的請(qǐng)求
  • 對(duì)大頁面-<大小>的請(qǐng)求

想進(jìn)一步了解Kubernetes中的資源,點(diǎn)擊此處訪問Kubernetes的官方文檔。

在本文中,我們將看到資源限制以及CPU和內(nèi)存請(qǐng)求的示例。我們還將使用Metric Server。 Metrics Server聚合了集群中的資源使用情況數(shù)據(jù),默認(rèn)情況下未部署在集群中。我們將使用該Metric Server查看Pod的資源使用情況。

先決條件

  • 至少有1個(gè)worker節(jié)點(diǎn)的Kubernetes集群

如果您想了解創(chuàng)建Kubernetes集群,請(qǐng)點(diǎn)擊此處。該指南將幫助您在AWS Ubuntu 18.04 EC2實(shí)例上創(chuàng)建有1個(gè)Master和2個(gè)節(jié)點(diǎn)的Kubernetes集群。

我們將做什么?

  • 資源限制

資源限制

在創(chuàng)建資源需求指定的Pod之前,不妨先安裝Metric Server。

使用以下命令克隆Metric Server Github存儲(chǔ)庫,并安裝。

 

  1. git clone https://github.com/kodekloudhub/kubernetes-metrics-server.git  
  2. cd kubernetes-metrics-server / 

 

使用對(duì)象文件創(chuàng)建Metric Server。

 

  1. kubectl create -f 

圖1. 安裝Metric Server

等待一段時(shí)間以啟動(dòng)Metric Server。一段時(shí)間后,您可以執(zhí)行以下命令來監(jiān)測(cè)集群節(jié)點(diǎn)。

 

  1. kubectl top node 

圖2. 驗(yàn)證節(jié)點(diǎn)度量

現(xiàn)在,創(chuàng)建一個(gè)有下列內(nèi)容的pod定義文件,含有內(nèi)存請(qǐng)求和限制。

 

  1. vim my-pod-with-memory.yml 
  2.  
  3. apiVersion: v1 
  4.  
  5. kind: Pod 
  6.  
  7. metadata: 
  8.  
  9. name: my-pod-memory-demo 
  10.  
  11. spec: 
  12.  
  13. containers: 
  14.  
  15. name: my-container-memory-demo 
  16.  
  17. image: polinux/stress 
  18.  
  19. resources: 
  20.  
  21. limits: 
  22.  
  23. memory: "50Mi" 
  24.  
  25. requests: 
  26.  
  27. memory: "20Mi" 
  28.  
  29. command: ["stress"
  30.  
  31. args: ["--vm""1""--vm-bytes""30M""--vm-hang""1"

圖3. 我的pod內(nèi)存演示

您可以找到“resources”屬性,我們已將內(nèi)存限制指定為50Mi、將內(nèi)存請(qǐng)求指定為20Mi。

檢查集群上的現(xiàn)有pod。

 

  1. kubectl get pods #Get pods from the default namespace 

使用上述步驟中創(chuàng)建的pod定義來創(chuàng)建pod。

 

  1. kubectl create -f my-pod-with-memory.yml #Create a pod  
  2. kubectl get pods 

圖4. 創(chuàng)建一個(gè)有內(nèi)存請(qǐng)求和限制的pod。

現(xiàn)在,如果您獲得了Pod的詳細(xì)信息,可以看到該P(yáng)od請(qǐng)求20Mi內(nèi)存,內(nèi)存限制為50Mi。

 

  1. kubectl get pods  
  2. kubectl describe pod my-pod-memory-demo #Describe the pod 

圖5. 描述pod,并檢查內(nèi)存。

可以使用以下命令檢查Pod的使用情況。

 

  1. kubectl top pods #Check resource consumption by the pod 

圖6. 檢查內(nèi)存使用情況。

現(xiàn)在,創(chuàng)建附有CPU請(qǐng)求和限制的pod定義。

 

  1. vim my-pod-with-cpu.yml 
  2.  
  3. apiVersion: v1 
  4.  
  5. kind: Pod 
  6.  
  7. metadata: 
  8.  
  9. name: my-pod-cpu-demo 
  10.  
  11. spec: 
  12.  
  13. containers: 
  14.  
  15. name: my-container-cpu-demo image: vish/stress 
  16.  
  17. resources: 
  18.  
  19. limits: cpu: "1" 
  20.  
  21. requests: 
  22.  
  23. cpu: "0.5" 
  24.  
  25. args: 
  26.  
  27. - -cpus 
  28.  
  29. "2" 

圖7. 我的pod CPU演示。

在上述文件中,您可以看到該定義的“resource”屬性為CPU請(qǐng)求是0.5、限制是1。另外要注意,我們傳遞2個(gè)CPU作為我們的需求,這超出了限制。

現(xiàn)在,不妨使用以下命令創(chuàng)建附有CPU請(qǐng)求和限制的pod。

 

  1. kubectl apply -f my-pod-with-cpu.yml #Create a pod  
  2. kubectl get pods 

圖8. 創(chuàng)建附有CPU請(qǐng)求和限制的pod。

獲得我們創(chuàng)建的pod的詳細(xì)信息。

 

  1. kubectl get pods  
  2. kubectl describe pod my-pod-cpu-demo 

圖9. 描述pod,檢查CPU。

您可以看到,Pod請(qǐng)求.5即500m CPU,限制為1個(gè)CPU。

想檢查CPU使用情況,使用以下命令。

 

  1. kubectl top pod #Check resource consumption by the pod 

圖10. 檢查CPU使用情況。

在上述屏幕截圖中,您可以看到在pod定義中傳遞2個(gè)CPU作為變量后,它無法使用超過限制(即1個(gè)CPU)的資源。這里pod“my-pod-cpu-demo”可能耗用999m CPU(相當(dāng)于1個(gè)CPU),它不會(huì)增加耗用的資源。

結(jié)束語

我們?cè)诒疚闹锌吹搅耸褂肕etric Server在集群中進(jìn)行監(jiān)測(cè)的幾個(gè)步驟,還看到了pod如何可以請(qǐng)求CPU和內(nèi)存,并在不超出指定限制的情況下使用資源。

原文標(biāo)題:Resource Limits in Kuberenetes

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2022-03-24 08:04:50

Kubernetes資源限制

2022-06-21 08:03:49

RBAC 限制容器

2021-05-25 09:00:00

Kubernetes容器集群

2024-01-01 18:59:15

KubernetesCPU內(nèi)存

2022-12-19 07:28:53

Kubernetes資源請(qǐng)求限制

2019-01-03 15:10:40

JVM安全資源

2024-04-07 00:00:00

Linux控制資源

2020-11-23 08:48:00

Kubernetes容器開發(fā)

2021-12-26 18:23:10

Kubernetes集群命令

2021-05-21 11:20:36

Linux命令文件

2020-09-09 07:00:00

Kubernetes集群容器

2021-01-12 15:19:23

Kubernetes

2022-06-27 10:25:55

Kubernetes調(diào)度CPU

2020-09-01 08:06:54

Kubernetes資源

2021-03-05 00:06:12

Docker容器內(nèi)存

2021-07-29 06:37:55

KubernetesKubeLinter工具

2021-11-22 16:21:28

Kubernetes 運(yùn)維開源

2020-07-09 08:26:42

Kubernetes容器開發(fā)

2021-12-20 09:35:14

Kubernetes命令Linux

2022-09-29 08:03:20

?Kubernete容器共享池
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)