kubernetes(k8s)为容器和 Pod 分配内存资源

本文介绍了如何在Kubernetes中为容器和Pod分配内存请求和限制,确保容器得到请求的内存且不超过限制。通过创建命名空间、编辑yaml文件设置内存请求和限制,并使用stress工具模拟内存使用。当容器内存使用超过限制时,系统可能会杀死容器。此外,文章还讨论了Pod级别的内存管理和未指定内存限制时的情况。
摘要由CSDN通过智能技术生成

kubernetes(k8s)为容器和 Pod 分配内存资源

展示如何将内存请求(request)和内存限制(limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。

创建新的命名空间

kubectl create namespace mem-example

在这里插入图片描述

指定内存请求和限制

编辑yaml文件

#创建一个拥有一个容器的Pod
apiVersion: v1
kind: Pod
metadata:
  name: memory-demo
  namespace: mem-example
spec:
  containers:
  - name: memory-demo-ctr
    image: polinux/stress
#容器会请求100MiB的内存,并且内存会被限制在200MiB以内
    resources:
      requests:
        memory: "100Mi"
      limits:
        memory: "200Mi"
#容器启动时使用压力测试工具stress
    command: ["stress"]
# "--vm","1" 产生一个子进程; --vm 2 产生两个进程
# "--vm-bytes","150M" 每个进程分配150M
# "--vm-hang","1" 指每个消耗内存的进程在分配内存后转入睡眠1秒,然后释放内存一直重复执行这个过程
    args: ["--vm","1","--vm-bytes","150M","--vm-hang","1"]

配置文件的 args 部分提供了容器启动时的参数。 “–vm-bytes”, “150M” 参数告知容器尝试分配 150 MiB 内存。
创建pod

kubectl apply -f memory-request-limit.yaml 

查看Pod是否正常运行

kubectl get pod memory-demo -n mem-example

在这里插入图片描述
查看 Pod 相关的详细信息

kubectl get pod memory-demo -n mem-example -o yaml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跑不完的脚本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值