Kubernetes中QoS稳定吊舱的资源分配
如果Kubernetes中QoS稳定吊舱的资源分配,kubernetes,Kubernetes,如果限制资源大于请求资源,K8将pod分配给 示例配置: apiVersion: v1 kind: Pod metadata: name: test-metadata namespace: demo spec: containers: - name: test1 image: nginx resources: limits: memory: "14Gi" requests: memory:
限制
资源大于请求
资源,K8将pod分配给
示例配置:
apiVersion: v1
kind: Pod
metadata:
name: test-metadata
namespace: demo
spec:
containers:
- name: test1
image: nginx
resources:
limits:
memory: "14Gi"
requests:
memory: "4Gi"
- Kubernetes是否总是将此pod分配给具有14GB内存的实例
- Kubernetes是否会始终为该pod保留14 GB内存?如果是,那么它与
QoS保证类有何不同
我不想使用有QoS保证的,因为工作负载可能会有所不同。默认情况下,Kubernetes在尝试调度POD时只考虑资源请求。这意味着您的pod将只被调度到某个节点,该节点至少有pod请求的那么多可用资源 更准确地说,pod将被调度到其中一个节点,这样所有pod(包括它试图调度的pod)请求的资源总和不会超过节点可分配的资源。这里的关键词是可分配资源
可分配资源是指那些可用资源超过操作系统吊舱所需资源的资源。为系统进程保留多少硬件资源是Kubernetes的可配置属性,在默认情况下,Kubernetes在尝试调度POD时只考虑资源请求。这意味着您的pod将只被调度到某个节点,该节点至少有pod请求的那么多可用资源 更准确地说,pod将被调度到其中一个节点,这样所有pod(包括它试图调度的pod)请求的资源总和不会超过节点可分配的资源。这里的关键词是可分配资源
可分配资源是指那些可用资源超过操作系统吊舱所需资源的资源。为系统进程保留多少硬件资源是Kubernetes的可配置属性,在调度POD时不考虑内存限制 Kubernetes是否总是在具有14GB内存的实例上分配此pod 默认情况下,此pod将分配给满足4GB内存请求的任何节点 在节点端,当节点资源耗尽时,任何使用超过其请求资源的pod都会被逐出。换句话说,Kubernetes从不保证Pod请求之外的资源可用性 使用超过节点总内存的内存限制将永远无法达到 Kubernetes会一直为这个pod保留14 GB的内存吗?如果是,那么它与QoS保证类有何不同 不,默认情况下,kubernetes将保留所需的最小内存量,即4GB作为请求 调度器还考虑到以下因素: 调度器配置允许通过编写配置文件并将其路径作为命令行参数传递,自定义kube调度器的行为 调度策略可用于分别指定运行到的谓词和优先级
调度POD时不考虑内存限制 Kubernetes是否总是在具有14GB内存的实例上分配此pod 默认情况下,此pod将分配给满足4GB内存请求的任何节点 在节点端,当节点资源耗尽时,任何使用超过其请求资源的pod都会被逐出。换句话说,Kubernetes从不保证Pod请求之外的资源可用性 使用超过节点总内存的内存限制将永远无法达到 Kubernetes会一直为这个pod保留14 GB的内存吗?如果是,那么它与QoS保证类有何不同 不,默认情况下,kubernetes将保留所需的最小内存量,即4GB作为请求 调度器还考虑到以下因素: 调度器配置允许通过编写配置文件并将其路径作为命令行参数传递,自定义kube调度器的行为 调度策略可用于分别指定运行到的谓词和优先级
请求是否可以实际大于限制?我确信API服务器不会接受它。你们使用什么版本的k8s?应用此清单时,服务器应返回类似于
spec.containers[0]的错误。资源。请求:无效值:“14Gi”:必须小于或等于内存限制
@zerkms my bad,反之亦然。@GrigoriyMikhalkin my bad。我编辑了这个问题。@Dev没有必要,不能有oom。那要看情况而定。如果您设置了某个逐出阈值,当达到该阈值时,pod将在抛出OOM之前被逐出,调度程序将尝试将其放置在更合适的节点上。请求是否实际大于限制?我确信API服务器不会接受它。你们使用什么版本的k8s?应用此清单时,服务器应返回类似于spec.containers[0]的错误。资源。请求:无效值:“14Gi”:必须小于或等于内存限制
@zerkms my bad,反之亦然。@GrigoriyMikhalkin my bad。我编辑了这个问题。@Dev没有必要,不能有oom。那要看情况而定。如果您设置了一些逐出阈值,当达到该阈值时,pod将在抛出OOM之前被逐出,调度器将尝试将其放置在更合适的节点上。是否有更好的方法来分配动态资源?如果您忽略请求,则可以在任何节点上调度pod。在这种情况下,建议至少设置限值。注意,这些是最好的pra