Kubernetes (十六) 资源配额

发布时间:2024年01月22日

?一. 资源限制? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???二. 资源限制示例? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? 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即可

? ? ? ? ? ? 此时发现创建失败因为超过了定义的最高限制

? ? ? ? ? ? 将内存给的高于占用内存即可

? ?limitrange范围限制? ?

? ? ? ? ? ? ? ? ?创建编辑文件? ? ? ? ? ? ? ? ? ? ? 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定义的区间内

? ??RecourceQueta配额限制? ? ? ? ?

? ? ? ? ? ? ? ? ? ?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

?? ? ?补充?? ? (cpu和内存都必须设置)? ?

文章来源:https://blog.csdn.net/BJZX_OL/article/details/135745611
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。