gpt4 book ai didi

kubernetes - k8s资源内存限制是指什么,集群还是容器本身?

转载 作者:行者123 更新时间:2023-12-02 11:52:48 25 4
gpt4 key购买 nike

这在k8s中指的是什么内存?这是一个内所有容器的共享总内存吗?
簇?或者这是每个容器?
如果我有 9 个副本,并且我的集群有 2GB 内存,我有多少空间?
请求和限制有什么区别?

resources:
requests:
cpu: 6000m
memory: 12Gi
limits:
cpu: 6000m
memory: 12Gi

最佳答案

requestslimits在容器级别定义。因此它们是每个容器的。
如果运行 Pod 的节点有足够的可用资源,则容器有可能(并且允许)使用比其对该资源的请求指定的更多的资源。但是,不允许容器使用超过其资源限制。
例如,如果您为容器设置了 256 MiB 的内存请求,并且该容器位于调度到具有 8GiB 内存且没有其他 Pod 的节点的 Pod 中,则容器可以尝试使用更多 RAM。
如果您为该容器设置了 4GiB 的内存限制,则 kubelet(和容器运行时)会强制执行该限制。运行时防止容器使用超过配置的资源限制。例如:当容器中的进程尝试消耗超过允许的内存量时,系统内核会终止尝试分配的进程,并出现内存不足 (OOM) 错误。
创建 Pod 时,Kubernetes 调度程序会选择一个节点供 Pod 运行。每个节点对每种资源类型都有一个最大容量:它可以为 Pod 提供的 CPU 和内存量。调度器确保对于每种资源类型,调度的Containers的资源请求总和小于节点的容量。请注意,尽管节点上的实际内存或 CPU 资源使用率非常低,但如果容量检查失败,调度程序仍会拒绝在节点上放置 Pod。这可以防止在以后资源使用量增加时(例如,在请求率的每日峰值期间)节点上的资源短缺
如果 Container 超出其内存限制,它可能会被终止。如果它是可重新启动的,kubelet 将重新启动它,就像任何其他类型的运行时故障一样。
如果一个 Container 超出了它的内存请求,很可能只要节点内存不足,它的 Pod 就会被驱逐。
容器可能会或可能不会被允许长时间超过其 CPU 限制。但是,它不会因为 CPU 使用率过高而被杀死

关于kubernetes - k8s资源内存限制是指什么,集群还是容器本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63202208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com