Kubernetes手記(19)- 容器資源限制

      網友投稿 870 2025-03-31

      十九 容器資源限制


      在K8s中,運行Pod的節點必須滿足Pod運行所需的基本條件,即有CPU/MEM能滿足Pod運行的所需最小資源限制。

      容器沒有內核。默認情況下,容器沒有資源限制,可以使用主機內核調度程序允許的盡可能多的給定資源;如果不對容器資源進行限制,容器之間就會相互影響,一些占用硬件資源較高的容器會吞噬掉所有的硬件資源,從而導致其它容器無硬件資源可用,發生停服狀態。Docker提供了限制內存,CPU或磁盤IO的方法,可以對容器所占用的硬件資源大小以及多少進行限制,我們在使用docker create創建一個容器或者docker run運行一個容器的時候就可以來對此容器的硬件資源做限制。

      起始值 requests 最低保障

      終結值 limits 硬限制

      CPU

      1 顆 CPU = 1000 millicores 0.5 顆 CPU = 500 m

      內存

      Ei、Pi、Ti、Gi、Mi、Ki

      19.1 資源限制

      清單格式,詳見:kubectl explain pods.spec.Containers.resources

      resources # 資源限制 limits # 資源最高限制 cpu # 單位 m memory # 單位 Gi、Mi requests # 資源最低要求 cpu # 單位 m memory # 單位 Gi、Mi

      清單示例,node 節點的 CPU 為 12 核心,cpu limits 設置為 1000m 也就是允許

      apiVersion: v1 kind: Pod metadata: name: pod-resources-demo namespace: default labels: app: myapp tier: frontend spec: Containers: - name: nginx image: ikubernetes/stress-ng command: - "/usr/bin/stress-ng" #- "-m 1" # 以單線程壓測內存 - "-c 1" # 以單線程壓測CPU - "--metrics-brief" ports: - name: http containerPort: 80 - name: https containerPort: 443 resources: requests: cpu: 1000m # 它決定在預選階段淘汰哪些主機 memory: 512Mi limits: cpu: 1000m # 表示限制容器使用 node 節點的一顆 CPU,無論多少進程,它們最多只能占用 node 節點的可 CPU memory: 512Mi

      查看結果

      Mem: 855392K used, 139916K free, 10188K shrd, 796K buff, 350368K cached CPU0: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU1: 100% usr 0% sys 0% nic 0% idle 0% io 0% irq 0% sirq # 占滿了一顆 CPU CPU2: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU3: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU4: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU5: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU6: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU7: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU8: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU9: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU10: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq CPU11: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq Load average: 0.84 0.50 0.40 3/485 11 PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND 6 1 root R 6888 1% 1 8% {stress-ng-cpu} /usr/bin/stress-ng -c 1 --metrics-brief 1 0 root S 6244 1% 10 0% /usr/bin/stress-ng -c 1 --metrics-brief 7 0 root R 1504 0% 11 0% top

      19.2 qos 質量管理

      GuranteedW

      每個容器同時設置了 CPU 和內存的 requests 和 limits,而且 cpu.limits = cpu.requests memory.limits = memory.requests 那么它將優先被調度

      Burstable

      至少有一個容器設置 CPU 或內存資源的 requests 屬性 那么它將具有中等優先級

      BestEffort

      沒有任何一個容器設置了 requests 或 limits 屬性 那么它將只有最低優先級,當資源不夠用的時候,這個容器可能最先被終止,以騰出資源來,為 Burstable 和 Guranteed

      oom 策略

      Kubernetes手記(19)- 容器資源限制

      最先殺死占用量和需求量的比例大的

      其他

      自己將手記發在:https://github.com/redhatxl/awesome-kubernetes-notes

      歡迎一鍵三連

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:2007excel表格如何填充序列(2016excel填充序列)
      下一篇:制造企業生產運營(制造企業生產運營平臺)
      相關文章
      亚洲AV无码一区二区三区在线观看| 亚洲精品一二三区| 亚洲欧美成aⅴ人在线观看| 久久精品国产亚洲AV嫖农村妇女| 亚洲成AV人片在线观看WWW| 亚洲人成无码网站| 狠狠亚洲婷婷综合色香五月排名| 亚洲色欲久久久久综合网| 亚洲国产主播精品极品网红| 国产成人亚洲精品91专区高清| 亚洲AV无码AV男人的天堂不卡 | 亚洲а∨精品天堂在线| 亚洲人AV在线无码影院观看| 亚洲一区二区三区高清在线观看 | 91麻豆精品国产自产在线观看亚洲| 国产a v无码专区亚洲av| 亚洲一级特黄大片无码毛片| 亚洲综合色在线观看亚洲| 亚洲女人被黑人巨大进入| 亚洲欧洲中文日韩av乱码| 4338×亚洲全国最大色成网站| 国产亚洲av片在线观看18女人 | 亚洲伊人久久大香线蕉综合图片| 亚洲美女又黄又爽在线观看| 久久99国产亚洲高清观看首页| 亚洲国产精品无码久久SM| 亚洲精品国产成人专区| 亚洲高清中文字幕综合网| 亚洲国产精品美女| 国产午夜亚洲精品国产| mm1313亚洲国产精品无码试看| 亚洲国产综合精品一区在线播放| 久久国产成人精品国产成人亚洲 | 亚洲色偷偷综合亚洲AV伊人蜜桃| 国产精品亚洲专区无码牛牛| 亚洲美女在线国产| 亚洲Av无码专区国产乱码DVD| 久久亚洲私人国产精品vA| 亚洲性猛交xx乱| 亚洲av无码兔费综合| 久久99亚洲综合精品首页|