k8s pod内部容器_Kubernetes 给容器和Pod分配内存资源

本文详细介绍了如何在Kubernetes中为Pod和容器配置内存资源,包括内存申请和限制。通过示例展示了如何创建Pod并监控内存使用,阐述了超出内存限制时容器的行为,以及配置超出节点内存能力的Pod的影响。
摘要由CSDN通过智能技术生成

这篇教程指导如何给容器分配申请的内存和内存限制。我们保证让容器获得足够的内存 资源,但是不允许它使用超过限制的资源。

Before you begin

You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube.

你的集群里每个节点至少必须拥有300M的内存。

这个教程里有几个步骤要求Heapster , 但是如果你没有Heapster的话,也可以完成大部分的实验,就算跳过这些Heapster 步骤,也不会有什么问题。

检查看Heapster服务是否运行,执行命令:

kubectl get services --namespace=kube-system

如果Heapster服务正在运行,会有如下输出:

NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kube-system heapster 10.11.240.9 80/TCP 6d

创建一个命名空间

创建命名空间,以便你在实验中创建的资源可以从集群的资源中隔离出来。

kubectl create namespace mem-example

配置内存申请和限制

给容器配置内存申请,只要在容器的配置文件里添加resources:requests就可以了。配置限制的话, 则是添加resources:limits。

本实验,我们创建包含一个容器的Pod,这个容器申请100M的内存,并且内存限制设置为200M,下面 是配置文件:

apiVersion: v1

kind: Pod

metadata:

name: memory-demo

spec:

containers:

- name: memory-demo-ctr

image: vish/stress

resources:

limits:

memory: "200Mi"

requests:

memory: "100Mi"

args:

- -mem-total

- 150Mi

- -mem-alloc-size

- 10Mi

- -mem-alloc-sleep

- 1s

在这个配置文件里,args代码段提供了容器所需的参数。-mem-total 150Mi告诉容器尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值