? ? ? ? ? ? ? ? 1.首先将测试镜像上传到私有仓库? ? ? ? ? ? ? ? ? ? 2.创建编辑文件? ? ? ? ? ?vim?limit.yaml
apiVersion: v1
kind: Pod
metadata:
? name: memory-demo
spec:
? containers:
? - name: memory-demo
? ? image: stress
? ? args:
? ? - --vm? ? ? ?#启用一个进程
? ? - "1"
? ? - --vm-bytes ?#占用的内存
? ? - 200M
? ? resources:
? ? ? requests: ? #最少限制
? ? ? ? memory: 50Mi
? ? ? limits:? ? ??#最多限制
? ? ? ? memory: 100Mi? 这里改为210即可? ? ? ? ? ? 此时发现创建失败因为超过了定义的最高限制
? ? ? ? ? ? 将内存给的高于占用内存即可
? ? ? ? ? ? ? ? ?创建编辑文件? ? ? ? ? ? ? ? ? ? ? vim.range.yaml
?request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。? ? ??
?limit(资源限额):运行Pod期间,内存使用量会增加,最多能使用多少内存,这就是资源限额
### LimitRange 在 namespace 中施加的最小和最大内存限制只有在创建和更新 Pod 时才会被应用。改变 LimitRange 不会对之前创建的 Pod 造成影响。
apiVersion: v1
kind: LimitRange
metadata:
? name: limitrange-memory
spec:
? limits:
? - default:
? ? ? cpu: 0.5
? ? ? memory: 512Mi
? ? defaultRequest:
? ? ? cpu: 0.1
? ? ? memory: 256Mi
? ? max: ? ? ? ? ? ?#最大值
? ? ? cpu: 1
? ? ? memory: 1Gi
? ? min:? ? ? ? ? ? ?#最小值
? ? ? cpu: 0.1
? ? ? memory: 100Mi
? ? type: Container? ? ??创建的pod自动添加限制
? ??自定义限制的pod也需要在limitrange定义的区间内
? ? ? ? ? ? ? ? ? ?1. 在上面文件后添加模块? ??? ? ? vim.range.yaml
---
apiVersion: v1
kind: ResourceQuota
metadata:
? name: mem-cpu-demo
spec:
? hard: ? ? ? ? ? ? ? ? ?#要求
? ? requests.cpu: "1"
? ? requests.memory: 1Gi
? ? limits.cpu: "2"
? ? limits.memory: 2Gi
? ? pods: "2" ? ? ? ? ? #pod上限
?记得回收:?kubectl delete -f range.yaml? ? ? ? ? ? ? ? ? ?kubectl delete pod --all